list()和each()
list()each()
list(mixed $varl[, mixed $...]) : array
把陣列中的值賦給一組變數,可以在單次操作內就為一組變數賦值,將索引陣列下標為0的值賦值給變數1,下午1的賦值給變數2...
array each(array &$array) : array
回傳陣列中當前的鍵/值對并將陣列指標向后移動一步,將傳入的陣列每個元素拆為一個新的陣列,每執行一次操作一個元素,往后移動一位,執行到最后,回傳false
//list()的功能,從左到右,一一對應索引陣列從0開始的下標值
$arr1 = array('張三', '李四', '王五');
$arr2 = array(2=>'張三', 1=>'李四', '王五');
$arr3 = array('james'=>'詹姆斯', 'rose'=>'羅斯');
list($a1, $b1, $c1) = $arr1;
list($a2, $b2, $c2) = $arr2;
echo 'a1 = '.$a1.'<br/>'; //張三
echo 'b1 = '.$b1.'<br/>'; //李四
echo 'c1 = '.$c1.'<br/>'; //王五
echo 'a2 = '.$a2.'<br/>'; //Undefined variable... $a2找不到對應索引下標為0的值,所以沒有賦值
echo 'b2 = '.$b2.'<br/>'; //李四
echo 'c2 = '.$c2.'<br/>'; //張三
echo "<pre/>";
var_dump(each($arr3)); //每讀一次,陣列指標向后移動一步
//0和key對應的是鍵,1和value對應的是值
/*
array(4) {
[1]=>
string(9) "詹姆斯"
["value"]=>
string(9) "詹姆斯"
[0]=>
string(5) "james"
["key"]=>
string(5) "james"
}
*/
var_dump(each($arr3));
/*
array(4) {
[1]=>
string(6) "羅斯"
["value"]=>
string(6) "羅斯"
[0]=>
string(4) "rose"
["key"]=>
string(4) "rose"
}
*/
var_dump(each($arr3)); //讀到最后,沒有值可以取,直接回傳false
reset($arr3);
list($key, $value) = each($arr3);
echo $key.'----'.$value.'<br/>'; //james----詹姆斯
reset($arr3);
//通過each()和list()配合實作foreach一樣的效果
while (list($key, $value) = each($arr3)) {
echo $key.'----'.$value.'<br/>';
//james----詹姆斯
//rose----羅斯
}
//計算陣列的長度
int count(mixed $變數)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/67426.html
標籤:PHP
上一篇:php操作mysql
下一篇:empty()和isset()
