php基礎(chǔ)字符串與數(shù)組知識(shí)點(diǎn)講解
目錄
- 字符串
- 打印
- 字符串–引號(hào)
- 字符串–多行引號(hào)
- 數(shù)組-對(duì)象
- 索引數(shù)組
- 關(guān)聯(lián)數(shù)組
字符串
打印
打印函數(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ù)組中的索引可以不寫(xiě),那么默認(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)文章:
1. PHP字符串和十六進(jìn)制如何實(shí)現(xiàn)互相轉(zhuǎn)換2. php字符串函數(shù) str類常見(jiàn)用法示例3. php數(shù)組函數(shù)序列之sort() 對(duì)數(shù)組的元素值進(jìn)行升序4. PHP字符串函數(shù)庫(kù)5. php字符串中轉(zhuǎn)義成特殊字符實(shí)例講解6. PHP數(shù)組排序7. PHP字符串中提取文件名的實(shí)例方法8. PHP數(shù)組訪問(wèn)常用方法解析9. 刪除數(shù)組元素實(shí)用的PHP數(shù)組函數(shù)10. PHP字符串前后字符或空格刪除方法介紹
