1.php标准风格
2.php中文乱码
.html: .php:header('content-type:text/html;charset=utf-8');
3.定义变量,变量可以不声明直接使用
//一次声明多个变量并且赋值相同$i=$j=$k=$m=$n=1;//可变变量的例子$a='b';$b='c';$c='d';echo $$$a;//$$$a=$$b=$c=d//取地址符号//取地址符号$i=1;$j=&$i;echo $j;//1echo '';$j=3;echo $j,'';//3echo $i;//3echo '
';
4.unset注销变量
//unset($var):注销变量$i=1;echo $i;//1unset($i);echo $i;//var_dump($i);//NULL
5.类型转换
//临时转换$var=12;var_dump((float)$var,(double)$var,(real)$var,(string)$var,(bool)$var,(boolean)$var);//通过函数的形式实现临时转换echo intval($var);
6.settype设置变量类型
$var=1;settype($var,'float');
7.gettype获取变量类型
$var=1;echo gettype($var);
8.检测变量
//检测变量是否为整型$var=1;var_dump(is_int($var),is_integer($var),is_long($var));echo '
';//检测变量是否为浮点类型$var=1.2;var_dump(is_float($var),is_double($var),is_real($var));echo '
';//检测是否是字符串类型$var='king';var_dump(is_string($var));echo '
';//检测是否是布尔类型$var=false;var_dump(is_bool($var));echo '
';//检测是否是标量$var=123;var_dump(is_scalar($var));echo '
';//检测是否是数组$var=array();var_dump(is_array($var));echo '
';//检测是否是资源$var=fopen('test_9.php','r');var_dump(is_resource($var));echo '
';//检查是否是对象$var=new stdClass();var_dump(is_object($var));echo '
';//检测是否为NULL$var=null;var_dump(is_null($var));//检测是否为数值型,或者字符串的数值$var=1;$var='1.1';$var='3king';var_dump(is_numeric($var));
9.定界符:<<<
$title='test';$content="自学PHP";$test=<<{ $content} EOD;或者:$test=<<<"EOD" this is a test, { $title} { $content} EOD;
10.系统常量
echo PHP_VERSION;//得到PHP版本echo '
';echo PHP_OS;//服务器端的操作系统echo '
';echo M_PI;//PI的值
11.define定义常量
define('MARRIED',true);//值为true时不区分大小写,默认为false
12.通过constant函数得到常量的值
const USERNAME="king";echo constant('USERNAME');//king
13.defined检测常量名称是否被定义过
const USERNAME="king";var_dump(defined('USERNAME'),defined('PASSWORD'));//bool(true) bool(false)
14.通过const 定义常量
const ROOT='this is ROOT';echo ROOT;
15.get_defined_constants();得到所有已定义的常量
//得到所有已定义的常量,返回的是关联数组print_r(get_defined_constants());
16.自增自减
$var=1; 前缀形式:++$var,--$var,先加减1,在执行 后缀形式:$var++,$var--,先执行,在加减1 对于数值型支持自增自减运算符 布尔类型不支持自增自减运算符 null只支持自增,不支持自减 字符串只支持自增,不支持自减
17.mt_rand($min,$max):产生一个更好的随机数
$s=mt_rand(0,1);echo $s;// 0/1
18.strlen($string):得到字符串的长度
19.strpos($string,$search[,$offset]):查找一个字符串中是否存在另一个字符串,如果找到了,返回这个字符串
第一次出现的位置,如果没找到返回false
$str='kaingkaing';echo strpos($str,'a');//1echo strpos($str,'a',2);//6
20.date
/* 设置时区: 通过函数的形式动态设置时区 date_default_timezone_get():得到当前的默认时区 date_default_timezone_set($timezone):设置时区 PRC:中华人民共和国 Asia/Shanghai Asia/Chongqing 针对于当前脚本有效 通过修改PHP配置文件date.timezone设置时区,针对于所有脚本都生效 ini_set($name,$value):运行时设置PHP的配置选项 ini_get($name):得到PHP配置选项的值 date($format[,$time=time()]):得到当前服务器的日期时间 Y:代表4位的年 m:代表2位的月 d:代表2位的日 H:代表2位的小时 i:代表2位的分钟 s:代表2位的秒 w:返回一周内的第多少天,0~6,0代表星期日 *///得到默认时区echo @date_default_timezone_get();//Asia/Shanghaidate_default_timezone_set('PRC');echo date("Y年m月d日 H:i:s");//2017年11月23日 09:53:22
21.ini_get()获取php.ini文件中时区
echo ini_get('date.timezone');
22.ini_set()
ini_set('date.timezone','PRC');
23.isset($var)、empty($var)
/* isset($var):检测变量是否被设置,只要变量有值,并且值不为空,isset返回true,否则返回 false empty($var):检测变量是否为空,也就是转换成布尔类型false那些情况,如果为空返回true 否则返回false */$var=1;//true$var=0;//true$var='';//true$var="";//true$var=null;//falsevar_dump(isset($var));$var=0;//true$var=0.0;//true$var='';//true$var='0';//true$var=false;//true$var=null;//true$var=array();//truevar_dump(empty($var));
24. exit;//exit或者die终止执行了
exit;exit(‘终止执行’);
25.strip_tags($string[,$allowTags]):过滤HTML标记
$string='maiziedu
';echo $string;echo '
';echo strip_tags($string);echo '
';echo strip_tags($string,'');
26.strtolower($string):返回小写的字符串
strtoupper($string):返回大写之后的字符串27.strcmp($str1,$str2):比较两个字符串的大小
$str1=$str2,返回0
$str1>$str2,返回1$str1<$str2,返回-1strcasecmp($str1,$str2):忽略大小写的比较两个字符串$str1=$str2,返回0如果不等返回的是Ascii差28.trim($string[,$charList]):默认去掉字符串两端的空格,也可以去掉指定字符串ltrim($string[,$charList]):rtrim($string[,$charList]):
$string='abcdcba';echo '!'.$string.'!';//! abcdcba !echo '
';echo '!'.trim($string,'acb').'!';//!d!echo '
';echo '!'.trim($string,'a').'!';//!bcdcb!echo '
';echo '!'.trim($string,'ac').'!';//!bcdcb!
29.goto
//goto testFor;//不能跳入循环、switch...case语句、函数和类echo 'starting...';echo '
';goto next;echo 'this is a test';next://名称:来定义标识符echo 'this is next ...';echo '
';/*starting...this is a testthis is next ...*/
30.$arr=range(low,high,step);//步长
$arr=range(1,10,2);//步长print_r($arr);//Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 )
31.compact快速关联数组
$username='king';$age=12;$email='382771946@qq.com';$addr='bj';$userInfo=compact('username','age','email','addr');//Array ( [username] => king [age] => 12 [email] => 382771946@qq.com [addr] => bj )print_r($userInfo);
32.foreach函数
foreach($数组名称 as $val){ 循环体; }
foreach($$数组名称as $val): echo $val,'';endforeach;
33.file_put_contents($filename, $data):向.txt文件中写入数据
/*file_put_contents($filename,$data):向指定文件写内容,如果文件不存在,则会创建如果存在,会将之前的内容清空在写入*/$filename='message.txt';$data=1;$data=1.2;$data=true;$data='this is a test';$data=array(1,2,3,4,5,array('a','b','c'));file_put_contents($filename, $data);
34.serialize($value):返回序列化之后的字符串
// serialize($value):返回序列化之后的字符串$value=1;//i:1;$value=1.2;//d:1.2;$value=true;//b:1;$value='king';//s:4:"king";$value=null;//N;$value=array('aaa','b',true,'',null);//a:5:{i:0;s:3:"a";i:1;s:1:"b";i:2;b:1;i:3;s:0:"";i:4;N;}echo serialize($value);echo '
';//unserialize($value):将序列化之后的字符串反序列化
35.file_exists
//file_exists($path):检测文件或者目录是否存在 //filesize($filename):得到文件大小,返回的是字节
35.count(),或是sizeof()