细学PHP 08 数组-2
current($arr);//"當(dāng)前"的意思,該函數(shù)是取出數(shù)組內(nèi)部指針指向的單元的值
echo key($arr);//"鍵",該函數(shù)是 取出數(shù)組內(nèi)部指針指向的單元的 "鍵"
next($arr);//? "下一個(gè)", 把數(shù)組內(nèi)部的指針往尾部移動一個(gè)單元
prev($arr);//指針往頭部移動一下
reset($arr);//不管數(shù)組的指針跑哪兒了,用reset,可以重置,使數(shù)組的指針歸0,指向開頭處
end($arr);//該函數(shù)把指針指向數(shù)組的最后一個(gè)單元
?
foreach應(yīng)該把指針移到尾部去了, 第2個(gè)foreach,會不會受第1個(gè)foreach的影響,
答:foreach在運(yùn)行前,會自動reset數(shù)組,因此不會受上一次的影響.
問:foreach循環(huán)后,會不會幫我們把數(shù)組reset指針初始化??
答;不會
?
each的作用是把指針指向的當(dāng)前單元的信息組成一個(gè)數(shù)組 數(shù)組有4個(gè)單元,具體如下:
array(
1=>'單元值',
'value'=>'單元值',
0=>'單元的鍵',
'key'=>'單元的鍵'
)
each不僅把當(dāng)前指針指向的單元的信息組合成一個(gè)數(shù)組返回
并且同時(shí)把指針往尾部移動一次
$arr = array('春','夏','秋','冬');
list($spring,$summer,$fall,$winter) = $arr;
echo $spring,$summer,$fall,$winter,'<br />';
?
list($a,$b,$c) = array(2=>'趙',3=>'錢',1=>'孫');
var_dump($a);
echo $b,$c,'<br />';
list是如何工作的?
因?yàn)閘ist能夠給多個(gè)變量賦值,即把數(shù)組的多個(gè)單元分別賦給多個(gè)值. 那么,自然要注意一個(gè)最重要的地方 即-----把數(shù)組的哪個(gè)單元 對應(yīng) 賦給哪個(gè)變量???
具體對應(yīng)如下: 在list中,按","隔開的順序,從左到右,分別對應(yīng)右側(cè)數(shù)組(設(shè)為$arr) $arr[0],$arr[1],$arr[2],.... $arr[N]
如果需要對應(yīng)右側(cè)的$arr[x] 不存在怎么辦? 答:依然是先對應(yīng),不存在,當(dāng)成NULL來處理.
1: 對于數(shù)字的索引值,不必加單雙引號
?因?yàn)榧恿藛坞p引號,比如"1",則需要把"1"轉(zhuǎn)成整型1,來尋找該單元.影響了效率.
2: 字符串型的下標(biāo),要不要加單雙引號?
沒有加單雙引號,理解成常量,并且按常量值來取值. 如果沒有該常量,再次把name當(dāng)成字符串的下標(biāo)來處理.
不加單雙引號,流程上,先理解成常量,如無,再當(dāng)成字符串,效率必然低.
3:加單引還是加雙引?
在字符串學(xué)習(xí)的時(shí)候,單引號的解析速度遠(yuǎn)比雙引號快.因此,優(yōu)先加 單引號.
總結(jié):
數(shù)字類型的索引,不必加引號
字符串類型索引必加,而且優(yōu)先加單引號
轉(zhuǎn)載于:https://www.cnblogs.com/cnmice/archive/2013/04/05/3001515.html
總結(jié)
以上是生活随笔為你收集整理的细学PHP 08 数组-2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bidirectional pathtr
- 下一篇: php的yii框架开发总结2