- php输入乱码,加头部
header(\'Content-Type: text/html; charset=utf-8\');
- 连接
可以使用 . 或 , 或 .=
(1) echo \'I am\'.\'a beauty\';(2) echo \'I am\',\'a beauty\';(3) $name=\'I am\';echo $name.=\' a beauty\';输出结果均为:I am a beauty
- 常量定义
可以使用define或const
(1)define(\'zc\',0.8,true); //true表示对大小写不敏感//第三个参数表示常量对大小写是否敏感(默认值为false)。当为true时表示不敏感echo zc;echo\"<br/>\";echo ZC;echo\"<br/>\";echo constant(\'zc\'); //输出常量还可使用constant()函数//只需将其唯一的参数设为常量的名称即可。(2)const pi = 3.14;echo pi;
- 单引号和双引号
$name=\'cly\';$c=\'china\';$str= $name.\'come from $c\';$str1= $name.\"come from $c\";echo $str;echo \"<br/>\";echo $str1;
执行结果为:
变量$c在双引号字符串中被解析为China
而在单引号字符串中原样输出。
- 时间
echo time(); //时间戳echo\"<br/>\";echo date(\'Y-m-d\',time()); //年月日echo\"<br/>\";echo date(\'H:i:s\',time()); //时分秒echo\"<br/>\";echo date(\'Y-m-d H:i:s\'); //年月日 时分秒
但是在执行时遇到了问题:
解决方案如下:
从PHP 5.1.0,当对使用date() 等函数时,如果 timezone 设置不正确,在每一次调用时间函数时,都会产生 E_NOTICE 或者 E_WARNING 信息。
而又在 PHP 5.1.0 中,date.timezone 这个选项,默认情况下是关闭的,无论用什么PHP 命令都是格林威治标准时间,但是PHP 5.3 中好像如果没有设置也会强行抛出了这个错误的,解决此问题,只要本地化一下就行了。
一、在页头使用date_default_timezone_set()设置
date_default_timezone_set(‘PRC’);
//东八时区 echo date(‘Y-m-d H:i:s’);
二、在页头使用ini_set(‘date.timezone’,‘Asia/Shanghai’);
三、修改 php.ini 使用记事本打开 php.ini 查找 date.timezone 去掉前面的分号修改成为:date.timezone = PRC。重启http服务(如apache2或iis等)即可!
- 三元运算符
条件 ? 结果1 : 结果2//问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2
$a=1;$b=2;$res = $a > $b ? \'a>b\':\'b>a\';echo $res;
-
字符串函数
-
strlen()函数:获取字符串长度
echo strlen(\'abc\'); //输出结果:3echo strlen(\'博客\'); //输出结果:6
strlen()函数的返回值类型是int整型 一个英文字符一个空格的长度均为1 一个中文字符的长度为3
- strrpos()函数:获取指定字符串在目标字符串中最后一次出现的位置
echo strrpos(\'itcast\',\'a\'); //输出结果:3echo strrpos(\'itcast\',\'c\',1); //输出结果:2echo strrpos(\'itcast\',\'t\',-4); //输出结果:1
strrpos()函数的返回值类型是int整型,但当找不到指定字符串时,返回值为布尔型false。
第一个参数是目标字符串。
第二个参数是指定字符串。
第三个参数是字符串开始查找的位置,它有三种情况,具体如下:
(1)省略第三个参数时,表示从目标字符串的第0个位置开始向后查找指定字符串。
(2)第三个参数为正数n时,表示从目标字符串的第n个位置开始向后查找指定字符串。
(3)第三个参数为负数m时,表示从目标字符串的尾部第m个位置开始向前查找指定字符串。
- substr()函数:获取字符串中的子串。
echo substr(\'itcast\',2); //输出结果:castecho substr(\'itcast\',0,2); //输出结果:itecho substr(\'itcast\',3,-1); //输出结果:as
substr()函数的返回值类型是字符串型。
substr()函数的第一个参数表示待处理的字符串。
substr()函数的第二个参数表示字符串开始截取的位置,当它为负数m时,表示从待处理字符的结尾处向前数第m个字符开始。
substr()函数的第三个参数表示截取字符串的长度,当其省略时,表示截取到字符串的结尾,当其为负数m时,表示从截取后的字符串的末尾处去掉m个字符。
- str_replace ()函数:字符串中的某些字符进行替换
echo str_replace(\'e\',\'E\',\'welcome\',$count);//输出结果:wElcomEecho $count; //输出结果:2//即在welcome字符串中用E代替e
str_replace()函数的第一个参数表示目标字符串。 str_replace()函数的第二参数表示替换字符串。
str_replace()函数的第三个参数表示执行替换的字符串。 str_replace()函数的第四个参数是一个可选的参数,用于
保存字符串被替换的次数。
- explode()函数:使用一个字符串分割另一个字符串
var_dump(explode(\'r\',\'watermelon\'));//输出array(2) { [0]=> string(4) \"wate\" [1]=> string(5) \"melon\" }var_dump(explode(\'r\',\'watermelon\',1));//输出array(1) { [0]=> string(10) \"watermelon\" }
explode()函数的返回值类型是数组类型。所谓数组类型就是可以存储一系列数据的变量类型。
第一个参数表示分隔符。
第二个参数表示要分割的字符串。
第三个参数是可选的,表示返回的数组中最多包含的元素个数,当其为负数m时,表示返回除了最后的m个元素外的所有元素,当其为0时,则把它当做1处理。
- implode()函数:指定的连接符将数组拼接成一个字符串
$arr = array(1,2,3); //定义一个数组echo implode(\',\',$arr); //输出结果:1,2,3
implode()函数的第一个参数表示连接符。
implode()函数的第二个参数表示待处理的数组。
-
习题
-
九九乘法表
for($i=1;$i<=9;$i++){for($j=1;$j<=$i;$j++){// echo $j.\"*\".$i.\"=\".$i*$j;echo \"{$j}*{$i}=\".$i*$j;echo \" \";echo \" \";}echo \"<br/>\";}
- 打印金字塔
$n=5;for($i=1;$i<=$n;$i++){for($k=1;$k<=$n-$i;$k++){echo\" \";}for($j=1;$j<=2*$i-1;$j++){echo\"*\";}echo\"<br/>\";}
雪碧可乐_2020/6/16_20:51