PHP基础语法总结-创新互联

本篇内容主要讲解“PHP基础语法总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP基础语法总结”吧!

创新互联专注于企业成都全网营销推广、网站重做改版、无锡网站定制设计、自适应品牌网站建设、HTML5电子商务商城网站建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为无锡等各大城市提供网站开发制作服务。

对于字符串中的指定字符做增删改查操作

$string='abcdef';

//查找

echo $string{0};

echo '

';

//注意,修改的时候只能一个字符替换一个字符

$string{1}='z';

echo $string;//azcdef

echo '

';

$string{4}='!';

echo $string;//azcd!f

echo '

';

$string='abc';

$string{0}='hello';

echo $string;//hbc

echo '

';

//不要对于中文字符做操作

$string='你好';

var_dump($string);//'你好' (length=6)

echo '

';

//删除 不知道为啥这部分我做了没效果,还是输出原来的字符串;

如果把''改成' ',原来的字符位置又会多出一个空格,不明白不明白??

$string='abcdef';

$string{2}='';

echo $string; //abcdef

echo '

';

$string{0}=''; //abcdef

echo $string;

//添加字符

echo '

';

$string='abc';

$string{3}='d';//abcd

echo $string;

echo '

';

$string='abc';//abc00e

$string{5}='e';

echo $string;//abc e

不存在的变量返回null

销毁变量使用unset()

$a=$b=$c='king';

//一次销毁3个变量

unset($a,$b,$c);

var_dump($a,$b,$c);

php换行符

1.\n是使源代码换行,而浏览器显示的内容不换行(用双引号包裹);

2.

是使浏览器显示的内容换行,而源代码不换行

临时转换

$var=true;

//临时转换成整型

var_dump((int)$var,(integer)$var);//1 1

//临时转换成浮点类型

var_dump((float)$var,(double)$var,(real)$var);

//临时转换成字符串型

$var=true;

var_dump((string)$var);

//临时转换成布尔类型

$var='3king';

var_dump((bool)$var,(boolean)$var);

//临时转换成空

$var='hello';

var_dump((unset)$var);

//临时转换成数组

$var=123;

var_dump((array)$var);

//临时转换成对象

$var=12.3;

var_dump((object)$var);

通过系统函数完成临时转换

$var='3king';

$res=intval($var);

var_dump($res);//3

var_dump(floatval($var),doubleval($var));

var_dump(boolval($var));

$var=true;

var_dump(strval($var));

得到变量的类型 gettype()

type可能的值为:

“boolean” (或为“bool”,从 PHP 4.2.0 起)

“integer” (或为“int”,从 PHP 4.2.0 起)

“float” (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的“double”现已停用)

"string"

"array"

"object"

“null”

永久转换的例子

$var=123;

echo gettype($var);//integer

echo '

';

//永久转换settype($var,$type)

settype($var,'bool');

var_dump($var);

通过变量函数库检测变量的类型,is_*

//检测是否为整型

$var=0;

var_dump(

is_int($var),

is_integer($var),

is_long($var)

);

//是否为字符串型

$var='3king';

var_dump(

is_string($var)

);

//是否是布尔类型

$var=false;

var_dump(is_bool($var));

//是否为标量类型

$var=123;

$var=null;

var_dump(is_scalar($var));

//是否为null

$var=null;

var_dump(is_null($var));

//是否为数组

$var=array();

var_dump(is_array($var));

//是否是对象

$var=new StdClass();

var_dump(is_object($var));

//是否是资源

$var=fopen('./test.html','r');

var_dump(is_resource($var));

//检测是否为数值型或者是字符串形式的数值

//123 23.4 '123.34' '23'

$var=123;

var_dump(is_numeric($var));

系统常量

echo PHP_VERSION;//7.3.4

echo PHP_OS;//WINNT

echo PHP_INT_MAX;//...很长

define(NAME,VALUE):定义常量

常量一经定义不能改变

常量默认区分大小写,使用的时候按照定义时的大小写来使用

define('TEST','this is a test');

echo TEST;

define('TEST_ARRAY',array('a','b','c'));

var_dump(TEST_ARRAY);

const关键字定义常量

const TEST='this is a test';

echo TEST;

//通过constant来获取常量的值

echo constant('TEST');

//通过defined()检测常量是否存在

var_dump(defined('TEST'));

//get_defined_constants():返回的是数组,得到所有已定义的常量,包含系统常量和自定义常量

print_r(get_defined_constants());

魔术常量

echo __LINE__;

echo __FILE__;

echo __DIR__;

$_REQUEST 能接收 get,post 方式传值,它包含$_GET,$_POST,$_COOKIE 三个预定

义变量的内容,为什么在页面上给$_GET 和$_POST 赋值以后打印$_REQUEST,里面却为

空?

原因:$_REQUEST 包含$_GET 和$_POST 的值,必须是通过 get,post 两种方式传过来的

数据,单独在页面给$_GET 和$_POST 赋值时,没有给$_REQUEST 赋,它代替不了$_GET

和$_POST

define 定义数组常量时报错

原因:数组常量定义是 PHP7 新加的特性,在 7 之前的版本,常量的值仅允许标量和 null。

标量的类型是 integer, float,string 或者 boolean。所以数组是不允许的,需要将版

本升级到 7 才能定义数组常量。

整数支持递增递减运算符

浮点类型支持递增递减运算符

布尔类型不支持递增递减运算符

null只支持递增运算符,不支持递减运算符

字符串只支持递增运算符,根据ascii码来计算

$str='a';

echo ++$str;//b

$str='a1';

echo ++$str;//a2

$str='a9';

echo ++$str;//b0

$str='B';

echo ++$str;// C

ord($character):得到指定字符的ASCII码值

$str='a';

echo ord($str);

echo '

';//98

chr($ascii):根据指定ASCII得到对应的字符

echo chr(98);//b

字符连接符

echo 'a'.'b'.'c';//abc

echo 'a','b','c';//abc

$str1=' hello ';

$str2=' world ';

$newStr=$str1,$str2;//报错

$newStr=$str1.$str2;// hello world

echo $newStr;

mt_rand($min,$max):产生随机数

echo mt_rand(1,9);

echo mt_rand(1000,9999);

生成四位数的多色验证码

$code=''.mt_rand(1,9).'';

$code.=''.mt_rand(1,9).'';

$code.=''.mt_rand(1,9).'';

$code.=''.mt_rand(1,9).'';

echo $code;

比较结合运算符(太空船运算符)

前面>后面 1

前面<后面 -1   前面=后面 0   var_dump(   1.5<=>1.5,

1.5<=>1.2,

1.5<=>4.6

);

var_dump(

'a'<=>'a',

'c'<=>'a',

'c'<=>'e'

);

NULL合并操作符

从左到右第一个存在且不为null的操作

如果全部都是null,就返回null

php7之后开始有

var_dump(

true??'king'??123,

0??false??null??'hello world',

$abcdef??'hello world'

);

字符串搜索相关

strpos($string,$search):返回字符串首次出现的位置,位置从0开始;如果没找到返回false

stripos($string,$search):忽略大小的去搜索

strrpos($string,$search):返回字符串最后一次出现的位置;如果没找到返回false

strripos($string,$search):忽略大小写的去搜索最后一次出现的位置

$str='abcadebf';

var_dump(strpos($str,'bc')); //1

var_dump(stripos($str,'B'));//1

var_dump(strrpos($str,'a'));//3

var_dump(strripos($str,'A'));//3

错误抑制符@

$var=123;

@settype($var,'king');

三元运算符相当于缩写的if...else

exp1?:exp3

$res=0?:'this is a test';

var_dump($res);

max() min()

echo max(123,234,35234234);//得到较大值

echo min(-123,23,5346);//得到最小值

date($format,$time):格式化日期时间

Y:4位的年份

m:2位月份

d:2位的日

H:2位的小时

i:2位的分钟

s:2位秒数

w:返回一周内的第几天,0~6(0代表星期日)

date_default_timezone_set($timezone):设置时区

date_default_timezone_get():得到当前默认的时区

time():得到当前的时间戳

date_default_timezone_set('PRC');//Asia/Shanghai

echo date("Y年m月d日 H:i:s");//2020年01月09日 15:29:18

echo date("Y-m-d H:i:s",time());//2020-01-09 15:29:18

echo date("Y/m/d",time());//2020/01/09

echo date_default_timezone_get();//PRC

if语句的另外的形式

if(true){

}else{

}

if(true):

else:

endif;

-----------------------------

if(true){

}else if($username=='queen'){

}else {

}

if(true):

elseif(true):

else:

endif;

exit($msg)|die($msg)程序终止执行

exit;

die;

exit("

Game Over ...

");

for循环

for($i=1;$i<=3;++$i){   echo $i;   echo "\n";   }   echo $i,"\n";//4   for($j=4;$j<=0;$j++){   echo 'this is a test   ';   }   echo $j,"\n";//没有循环,初始值4   //生成四位数多色验证码   for($i=0;$i<4;$i++){   echo ''.mt_rand(0,9).'';   }   goto跳转

echo 'starting...';

goto TEST;

echo 'this is a test';//不显示,被跳过

TEST://TEST标识符

echo '跳入TEST';

//goto 不能跳入循环、switch...case 函数和类

//goto TEST1;//报错

for($i=1;$i<=5;$i++){   TEST1:   echo '跳入循环TEST1';   }   for($i=1;$i<=5;$i++){   if($i==3){   goto TEST2;   }   }   TEST2:   echo '跳出循环TEST2';

到此,相信大家对“PHP基础语法总结”有了更深的了解,不妨来实际操作一番吧!这里是创新互联建站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


当前文章:PHP基础语法总结-创新互联
文章地址:http://abwzjs.com/article/cceojj.html