本篇內(nèi)容主要講解“PHP基礎(chǔ)語法總結(jié)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“PHP基礎(chǔ)語法總結(jié)”吧!
成都創(chuàng)新互聯(lián)專注于濠江企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。濠江網(wǎng)站建設(shè)公司,為濠江等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
對于字符串中的指定字符做增刪改查操作
$string='abcdef';
//查找
echo $string{0};
echo '
';
//注意,修改的時(shí)候只能一個(gè)字符替換一個(gè)字符
$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 '
';
//刪除 不知道為啥這部分我做了沒效果,還是輸出原來的字符串;
如果把''改成' ',原來的字符位置又會多出一個(gè)空格,不明白不明白??
$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個(gè)變量
unset($a,$b,$c);
var_dump($a,$b,$c);
php換行符
1.\n是使源代碼換行,而瀏覽器顯示的內(nèi)容不換行(用雙引號包裹);
2.
是使瀏覽器顯示的內(nèi)容換行,而源代碼不換行
臨時(shí)轉(zhuǎn)換
$var=true;
//臨時(shí)轉(zhuǎn)換成整型
var_dump((int)$var,(integer)$var);//1 1
//臨時(shí)轉(zhuǎn)換成浮點(diǎn)類型
var_dump((float)$var,(double)$var,(real)$var);
//臨時(shí)轉(zhuǎn)換成字符串型
$var=true;
var_dump((string)$var);
//臨時(shí)轉(zhuǎn)換成布爾類型
$var='3king';
var_dump((bool)$var,(boolean)$var);
//臨時(shí)轉(zhuǎn)換成空
$var='hello';
var_dump((unset)$var);
//臨時(shí)轉(zhuǎn)換成數(shù)組
$var=123;
var_dump((array)$var);
//臨時(shí)轉(zhuǎn)換成對象
$var=12.3;
var_dump((object)$var);
通過系統(tǒng)函數(shù)完成臨時(shí)轉(zhuǎn)換
$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” (或?yàn)椤癰ool”,從 PHP 4.2.0 起)
“integer” (或?yàn)椤癷nt”,從 PHP 4.2.0 起)
“float” (只在 PHP 4.2.0 之后可以使用,對于舊版本中使用的“double”現(xiàn)已停用)
"string"
"array"
"object"
“null”
永久轉(zhuǎn)換的例子
$var=123;
echo gettype($var);//integer
echo '
';
//永久轉(zhuǎn)換settype($var,$type)
settype($var,'bool');
var_dump($var);
通過變量函數(shù)庫檢測變量的類型,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));
//是否為標(biāo)量類型
$var=123;
$var=null;
var_dump(is_scalar($var));
//是否為null
$var=null;
var_dump(is_null($var));
//是否為數(shù)組
$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));
//檢測是否為數(shù)值型或者是字符串形式的數(shù)值
//123 23.4 '123.34' '23'
$var=123;
var_dump(is_numeric($var));
系統(tǒng)常量
echo PHP_VERSION;//7.3.4
echo PHP_OS;//WINNT
echo PHP_INT_MAX;//...很長
define(NAME,VALUE):定義常量
常量一經(jīng)定義不能改變
常量默認(rèn)區(qū)分大小寫,使用的時(shí)候按照定義時(shí)的大小寫來使用
define('TEST','this is a test');
echo TEST;
define('TEST_ARRAY',array('a','b','c'));
var_dump(TEST_ARRAY);
const關(guān)鍵字定義常量
const TEST='this is a test';
echo TEST;
//通過constant來獲取常量的值
echo constant('TEST');
//通過defined()檢測常量是否存在
var_dump(defined('TEST'));
//get_defined_constants():返回的是數(shù)組,得到所有已定義的常量,包含系統(tǒng)常量和自定義常量
print_r(get_defined_constants());
魔術(shù)常量
echo __LINE__;
echo __FILE__;
echo __DIR__;
$_REQUEST 能接收 get,post 方式傳值,它包含$_GET,$_POST,$_COOKIE 三個(gè)預(yù)定
義變量的內(nèi)容,為什么在頁面上給$_GET 和$_POST 賦值以后打印$_REQUEST,里面卻為
空?
原因:$_REQUEST 包含$_GET 和$_POST 的值,必須是通過 get,post 兩種方式傳過來的
數(shù)據(jù),單獨(dú)在頁面給$_GET 和$_POST 賦值時(shí),沒有給$_REQUEST 賦,它代替不了$_GET
和$_POST
define 定義數(shù)組常量時(shí)報(bào)錯
原因:數(shù)組常量定義是 PHP7 新加的特性,在 7 之前的版本,常量的值僅允許標(biāo)量和 null。
標(biāo)量的類型是 integer, float,string 或者 boolean。所以數(shù)組是不允許的,需要將版
本升級到 7 才能定義數(shù)組常量。
整數(shù)支持遞增遞減運(yùn)算符
浮點(diǎn)類型支持遞增遞減運(yùn)算符
布爾類型不支持遞增遞減運(yùn)算符
null只支持遞增運(yùn)算符,不支持遞減運(yùn)算符
字符串只支持遞增運(yùn)算符,根據(jù)ascii碼來計(jì)算
$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):根據(jù)指定ASCII得到對應(yīng)的字符
echo chr(98);//b
字符連接符
echo 'a'.'b'.'c';//abc
echo 'a','b','c';//abc
$str1=' hello ';
$str2=' world ';
$newStr=$str1,$str2;//報(bào)錯
$newStr=$str1.$str2;// hello world
echo $newStr;
mt_rand($min,$max):產(chǎn)生隨機(jī)數(shù)
echo mt_rand(1,9);
echo mt_rand(1000,9999);
生成四位數(shù)的多色驗(yàn)證碼
$code=''.mt_rand(1,9).'';
$code.=''.mt_rand(1,9).'';
$code.=''.mt_rand(1,9).'';
$code.=''.mt_rand(1,9).'';
echo $code;
比較結(jié)合運(yùn)算符(太空船運(yùn)算符)
前面>后面 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合并操作符
從左到右第一個(gè)存在且不為null的操作
如果全部都是null,就返回null
php7之后開始有
var_dump(
true??'king'??123,
0??false??null??'hello world',
$abcdef??'hello world'
);
字符串搜索相關(guān)
strpos($string,$search):返回字符串首次出現(xiàn)的位置,位置從0開始;如果沒找到返回false
stripos($string,$search):忽略大小的去搜索
strrpos($string,$search):返回字符串最后一次出現(xiàn)的位置;如果沒找到返回false
strripos($string,$search):忽略大小寫的去搜索最后一次出現(xiàn)的位置
$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');
三元運(yùn)算符相當(dāng)于縮寫的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):格式化日期時(shí)間
Y:4位的年份
m:2位月份
d:2位的日
H:2位的小時(shí)
i:2位的分鐘
s:2位秒數(shù)
w:返回一周內(nèi)的第幾天,0~6(0代表星期日)
date_default_timezone_set($timezone):設(shè)置時(shí)區(qū)
date_default_timezone_get():得到當(dāng)前默認(rèn)的時(shí)區(qū)
time():得到當(dāng)前的時(shí)間戳
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)程序終止執(zhí)行
exit;
die;
exit("
Game Over ...
");
for循環(huán)
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";//沒有循環(huán),初始值4 //生成四位數(shù)多色驗(yàn)證碼 for($i=0;$i<4;$i++){ echo ''.mt_rand(0,9).''; } goto跳轉(zhuǎn)
echo 'starting...';
goto TEST;
echo 'this is a test';//不顯示,被跳過
TEST://TEST標(biāo)識符
echo '跳入TEST';
//goto 不能跳入循環(huán)、switch...case 函數(shù)和類
//goto TEST1;//報(bào)錯
for($i=1;$i<=5;$i++){ TEST1: echo '跳入循環(huán)TEST1'; } for($i=1;$i<=5;$i++){ if($i==3){ goto TEST2; } } TEST2: echo '跳出循環(huán)TEST2';
到此,相信大家對“PHP基礎(chǔ)語法總結(jié)”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!