616学习记录之PHP
- 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'); //输出结果:3
echo strlen('博客'); //输出结果:6
strlen()函数的返回值类型是int整型 一个英文字符一个空格的长度均为1 一个中文字符的长度为3
- strrpos()函数:获取指定字符串在目标字符串中最后一次出现的位置
echo strrpos('itcast','a'); //输出结果:3
echo strrpos('itcast','c',1); //输出结果:2
echo strrpos('itcast','t',-4); //输出结果:1
strrpos()函数的返回值类型是int整型,但当找不到指定字符串时,返回值为布尔型false。
第一个参数是目标字符串。
第二个参数是指定字符串。
第三个参数是字符串开始查找的位置,它有三种情况,具体如下:
(1)省略第三个参数时,表示从目标字符串的第0个位置开始向后查找指定字符串。
(2)第三个参数为正数n时,表示从目标字符串的第n个位置开始向后查找指定字符串。
(3)第三个参数为负数m时,表示从目标字符串的尾部第m个位置开始向前查找指定字符串。
- substr()函数:获取字符串中的子串。
echo substr('itcast',2); //输出结果:cast
echo substr('itcast',0,2); //输出结果:it
echo substr('itcast',3,-1); //输出结果:as
substr()函数的返回值类型是字符串型。
substr()函数的第一个参数表示待处理的字符串。
substr()函数的第二个参数表示字符串开始截取的位置,当它为负数m时,表示从待处理字符的结尾处向前数第m个字符开始。
substr()函数的第三个参数表示截取字符串的长度,当其省略时,表示截取到字符串的结尾,当其为负数m时,表示从截取后的字符串的末尾处去掉m个字符。
- str_replace ()函数:字符串中的某些字符进行替换
echo str_replace('e','E','welcome',$count);
//输出结果:wElcomE
echo $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
下一篇: JBoss SOA-P 4.3.GA发布