Heim > Backend-Entwicklung > PHP-Tutorial > list()和each()有关问题

list()和each()有关问题

WBOY
Freigeben: 2016-06-13 12:18:13
Original
983 Leute haben es durchsucht

list()和each()问题

本帖最后由 u014402634 于 2015-04-02 21:06:29 编辑
<br />$fruit = array('a' =>'apple','b'=>'banana','c'=>'cranberry' );<br />reset($fruit);<br />while (list($key,$val)=each($fruit))<br />{<br />	echo "$key=>$val<br>";<br />}<br />//------------------------------------------------------------------------<br /><br /><br />each()不是由4个元素构成么<br />比如第一个是 Array ( [1] => apple [value] => apple [0] => a [key] => a )<br />看手册说list()是从最右边参数开始赋值的  <br />each()4个元素究竟怎么赋值给list两个元素  按理说不是把前两个apple赋值给$key和$val了吗? <br />为啥最后echo能正常输出 对应的 键值对 呢?<br /><br />
Nach dem Login kopieren


------解决思路----------------------
你不看手册的吗?
注: list() 仅能用于数字索引的数组并假定数字索引从 0 开始。

$fruit = array('a' =>'apple');<br />print_r(each($fruit));<br />
Nach dem Login kopieren
Array<br />(<br />    [1] => apple<br />    [value] => apple<br />    [0] => a<br />    [key] => a<br />)<br />
Nach dem Login kopieren
reset($fruit);<br />list($key, $value) = each($fruit);<br />echo "$key => $value";<br />
Nach dem Login kopieren
a => apple
Nach dem Login kopieren
只有数字索引的部分被指派
这样清楚点
$ar = array('a', 'b', 'c' => 'c');<br />list($a, $b, $c) = $ar; //会有 Undefined offset: 2 警告<br />echo "$a $b $c\n";<br />
Nach dem Login kopieren

是按下标递增分配的
$ar = array(1 => 'a', 2 => 'b', 0 => 'c');<br />list($a, $b, $c) = $ar;<br />echo "$a $b $c\n";<br />
Nach dem Login kopieren
c a b
Nach dem Login kopieren
是从右往左分配的
$ar = array('a', 'b', 'c');<br />list($aa[$b][$c], $b, $c) = $ar;<br />print_r($aa);
Nach dem Login kopieren
Array<br />(<br />    [b] => Array<br />        (<br />            [c] => a<br />        )<br /><br />)<br />
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage