细学PHP 08 数组-2
current($arr);//"當前"的意思,該函數是取出數組內部指針指向的單元的值
echo key($arr);//"鍵",該函數是 取出數組內部指針指向的單元的 "鍵"
next($arr);//? "下一個", 把數組內部的指針往尾部移動一個單元
prev($arr);//指針往頭部移動一下
reset($arr);//不管數組的指針跑哪兒了,用reset,可以重置,使數組的指針歸0,指向開頭處
end($arr);//該函數把指針指向數組的最后一個單元
?
foreach應該把指針移到尾部去了, 第2個foreach,會不會受第1個foreach的影響,
答:foreach在運行前,會自動reset數組,因此不會受上一次的影響.
問:foreach循環后,會不會幫我們把數組reset指針初始化??
答;不會
?
each的作用是把指針指向的當前單元的信息組成一個數組 數組有4個單元,具體如下:
array(
1=>'單元值',
'value'=>'單元值',
0=>'單元的鍵',
'key'=>'單元的鍵'
)
each不僅把當前指針指向的單元的信息組合成一個數組返回
并且同時把指針往尾部移動一次
$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是如何工作的?
因為list能夠給多個變量賦值,即把數組的多個單元分別賦給多個值. 那么,自然要注意一個最重要的地方 即-----把數組的哪個單元 對應 賦給哪個變量???
具體對應如下: 在list中,按","隔開的順序,從左到右,分別對應右側數組(設為$arr) $arr[0],$arr[1],$arr[2],.... $arr[N]
如果需要對應右側的$arr[x] 不存在怎么辦? 答:依然是先對應,不存在,當成NULL來處理.
1: 對于數字的索引值,不必加單雙引號
?因為加了單雙引號,比如"1",則需要把"1"轉成整型1,來尋找該單元.影響了效率.
2: 字符串型的下標,要不要加單雙引號?
沒有加單雙引號,理解成常量,并且按常量值來取值. 如果沒有該常量,再次把name當成字符串的下標來處理.
不加單雙引號,流程上,先理解成常量,如無,再當成字符串,效率必然低.
3:加單引還是加雙引?
在字符串學習的時候,單引號的解析速度遠比雙引號快.因此,優先加 單引號.
總結:
數字類型的索引,不必加引號
字符串類型索引必加,而且優先加單引號
轉載于:https://www.cnblogs.com/cnmice/archive/2013/04/05/3001515.html
總結
以上是生活随笔為你收集整理的细学PHP 08 数组-2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bidirectional pathtr
- 下一篇: hadoop集群配置问题及思考