php基礎(chǔ)字符串與數(shù)組知識(shí)點(diǎn)講解
字符串
打印
打印函數(shù)
echo: 打印值,用于單值
print_r(): 人類可讀方式打印,用于數(shù)組
var_dump():打印結(jié)構(gòu)和類型,一般用于對(duì)象
數(shù)據(jù)類型一般分為字符串,數(shù)值,布爾,數(shù)組
//單值 $data='我是php'; echo $data; // 我是php $data2 = 123; echo $data2; // 123 $data3 = true; echo $data3; // 1 // $data4打印的為空 $data4 = false; echo $data4; //
如果使用echo
打開(kāi)布爾類型時(shí),打開(kāi)true
的話,會(huì)打印出1,而打開(kāi)false
時(shí),會(huì)打印為空
如果使用var_dump()
來(lái)打印的話,那么就可以正確的打印出來(lái)了
$data3 = true; var_dump($data3); // bool(true) $data4 = false; var_dump($data4); // bool(false)
但是如果使用print_r()
呢?會(huì)打印什么呢?試一下吧
$data3 = true; $data4 = false; print_r($data3); // 1 print_r($data4); //
使用print_r()
同樣的,跟echo
打印的內(nèi)容是一個(gè)的,true
為1,false
為空
echo
只能打印單值,不能打印數(shù)組對(duì)象;
var_dump()
可打印單值,也可打印數(shù)組對(duì)象;
$arr1 = ['小明','小李','小剛']; var_dump($arr1); // array(3) { [0]=> string(6) "小明" [1]=> string(6) "小李" [2]=> string(6) "小剛" }
字符串–引號(hào)
- 單引號(hào): 適合無(wú)變量,無(wú)轉(zhuǎn)義字符
- 雙引號(hào): 適合有變量,有轉(zhuǎn)義字符
$title = '文章標(biāo)題'; echo '<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >$title</a>'. '<br>'; // <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >$title</a> echo "<a href='#'>$title</a>"; // <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >文章標(biāo)題</a>
上面的兩條代碼,第二條完整的打印出我想要的內(nèi)容了
所以,雙引號(hào)是可以放變量的,那假如有多行的字符串時(shí),怎么辦呢
字符串–多行引號(hào)
如果一個(gè)字符串中,有多行的話,就可以使用nowdoc
或heredoc
$title = '三字經(jīng)'; $str = <<< doc <h4>$title</h4> 人之初,性本善。性相近,習(xí)相遠(yuǎn)。 茍不教,性乃遷。教之道,貴以專。 昔孟母,擇鄰處。子不學(xué),斷機(jī)杼。 竇燕山,有義方。教五子,名俱揚(yáng)。 doc; echo nl2br($str); // <h4>三字經(jīng)</h4><br /> // 人之初,性本善。性相近,習(xí)相遠(yuǎn)。<br /> // 茍不教,性乃遷。教之道,貴以專。<br /> // 昔孟母,擇鄰處。子不學(xué),斷機(jī)杼。<br /> // 竇燕山,有義方。教五子,名俱揚(yáng)。
上面的代碼已正常打印出來(lái)
在這里說(shuō)明一下,doc
和結(jié)束的doc
都可以隨便命名的,但是名稱必須要一樣就可以了,上面的開(kāi)始doc
默認(rèn)是雙引號(hào)的,單引號(hào)可自行測(cè)試
數(shù)組-對(duì)象
數(shù)組有分索引數(shù)組和關(guān)聯(lián)數(shù)組
索引數(shù)組
下面定義的$data
就是索引數(shù)組,中括號(hào)里面以=>
為區(qū)分,左邊數(shù)字為索引,右邊為值
$data = [1=>"小明",2=>"小李",3=>"小張",4=>"小剛"];
同樣的,跟javascript
類型,數(shù)組中的索引可以不寫,那么默認(rèn)索引將會(huì)從0開(kāi)始
$data = ['小明',"小李","小張","小剛"];
那么我們直接輸入看下是怎么樣的
$data = [1=>"小明",2=>"小李",3=>"小張",4=>"小剛"]; print_r($data); // Array ( [1] => 小明 [2] => 小李 [3] => 小張 [4] => 小剛 ) $data = ['小明',"小李","小張","小剛"]; print_r($data); // Array ( [0] => 小明 [1] => 小李 [2] => 小張 [3] => 小剛 )
可以看出來(lái),輸出的東西是一樣的,只是索引卻不一樣,第一條索引從1開(kāi)始,第二條從0開(kāi)始
但是這里我們就會(huì)有一個(gè)新的需求了,這個(gè)數(shù)組看起來(lái)很費(fèi)勁,那么我們能不能格式化一下呢
$data = ['小明',"小李","小張","小剛"]; $str = print_r($data, true); echo "<pre>$str</pre>"; // Array // ( // [0] => 小明 // [1] => 小李 // [2] => 小張 // [3] => 小剛 // )
這樣就清晰很多了
當(dāng)然也有另外的方法,比如使用printf(模板,插值):
$data = ['小明',"小李","小張","小剛"]; // 這里要說(shuō)明一下,print_r($str, bool)第二個(gè)變量如果為false,直接輸入結(jié)果,如果為true,不輸出,直接將結(jié)果賦值給一個(gè)變量 $str = print_r($data, true); // %s: string, %d: integer, %f: float printf('<pre>%s</pre>',$str); // Array // ( // [0] => 小明 // [1] => 小李 // [2] => 小張 // [3] => 小剛 // )
輸出的內(nèi)容跟上面是一樣的
索引數(shù)組解構(gòu)
$data = ['小明',"小李","小張","小剛"]; list($name1, $name2, $name3, $name4) = $data; echo $name1; // 小明 echo $name4; // 小剛
關(guān)聯(lián)數(shù)組
下面的數(shù)組就是關(guān)聯(lián)數(shù)組,打印一下看看
$data = ['name'=>"小明",'age'=>18,'job'=>"工程師",'address'=>"中國(guó)"]; print_r($data); // Array ( [name] => 小明 [age] => 18 [job] => 工程師 [address] => 中國(guó) )
關(guān)聯(lián)數(shù)組=>
左邊的是鍵,右邊的是值
關(guān)聯(lián)數(shù)組解構(gòu)
$data = ['name'=>"小明",'age'=>18,'job'=>"工程師",'address'=>"中國(guó)"]; ['name'=>$name, 'age'=>$age, 'job'=>$job, 'address'=>$address] = $data; echo $name; // 小明
快速解構(gòu)關(guān)聯(lián)數(shù)組
$data = ['name'=>"小明",'age'=>18,'job'=>"工程師",'address'=>"中國(guó)"]; extract($data); printf('%s, %d, %s, %s', $name, $age, $job, $address); // 小明, 18, 工程師, 中國(guó)
到此這篇關(guān)于php基礎(chǔ)字符串與數(shù)組知識(shí)點(diǎn)講解的文章就介紹到這了,更多相關(guān)php字符串與數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
訪問(wèn)編碼后的中文URL返回404錯(cuò)誤的解決方法
這篇文章主要介紹了訪問(wèn)編碼后的中文URL返回404錯(cuò)誤的解決方法,本文使用的是替換方法,當(dāng)然也可以使用加密方法來(lái)解決,最后附妹子圖一張,需要的朋友可以參考下2014-08-08php編寫的mysqli增刪改查數(shù)據(jù)庫(kù)操作類示例
這篇文章主要為大家介紹了php編寫的mysqli增刪改查數(shù)據(jù)庫(kù)操作類示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08PHP 5.3新特性命名空間規(guī)則解析及高級(jí)功能
本文介紹了PHP命名空間的一些術(shù)語(yǔ),其解析規(guī)則,以及一些高級(jí)功能的應(yīng)用,希望能夠幫助讀者在項(xiàng)目中真正使用命名空間。2010-03-03利用PHP判斷是手機(jī)移動(dòng)端還是PC端訪問(wèn)的函數(shù)示例
在平常工作開(kāi)發(fā)中,我們通常需要開(kāi)發(fā)出PC端和移動(dòng)端兩個(gè)不同的系統(tǒng),從而根據(jù)訪問(wèn)端的不同進(jìn)入到不同的操作界面中。下面這篇文章主要給大家介紹了關(guān)于利用PHP判斷是手機(jī)移動(dòng)端還是PC端訪問(wèn)的函數(shù)的相關(guān)資料,需要的朋友可以參考下。2017-12-12PHP面向?qū)ο蟪绦蛟O(shè)計(jì)類的定義與用法簡(jiǎn)單示例
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)類的定義與用法,結(jié)合實(shí)例形式分析了php類的定義、實(shí)例化、__set()及__get()具體使用技巧,需要的朋友可以參考下2016-12-12php curl獲取https頁(yè)面內(nèi)容,不直接輸出返回結(jié)果的設(shè)置方法
今天小編就為大家分享一篇php curl獲取https頁(yè)面內(nèi)容,不直接輸出返回結(jié)果的設(shè)置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01