2

next()PHPでこのような配列をトラバースするにはどうすればよいですか?

$a = array(NULL=>NULL, FALSE=>FALSE)

この種のコードは機能しません:

reset($a);
while (key($a)) {
    print "a";
    next($a);
}
4

2 に答える 2

5

next() のマニュアルを確認すると、このように表示されます。

配列の末尾をブール値の FALSE 要素と区別することはできません。FALSE 要素を含む可能性のある配列を適切にトラバースするには、each()関数を参照してください。

回避策は次のとおりです。

$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val<br>";
}

foreachを試すこともできます。

$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
foreach($fruit as $key => $val){
    echo "$key => $val<br>";
}
于 2013-01-24T05:52:41.537 に答える
-1

私は次のようにします:

foreach ($a as $value ) {
 print $value
 }
于 2013-01-24T05:50:18.320 に答える