PHP での配列トラバーサルで最も一般的に使用されるメソッドは、forac、while、および for です。これら 3 つの配列トラバーサルの実装コードを紹介します。
foreach を使用して PHP 配列にアクセスする場合、走査の順序は固定されていますか?
とよく質問されます。
例:
コードは次のとおりです | コードをコピー |
$arr['yahoo'] = 2007; $arr['baidu'] = 2008; foreach ($arr as $key => $val) { //結果はどうなりましたか? } |
別の例:
コードは次のとおりです | コードをコピー |
$arr[2] = 'フシンチェン'; |
、一連の関数 each/next を使用して走査する場合、配列の内部ポインタを移動することで逐次走査も実現します。ここには次のような問題があります。
コードをコピー | |
$arr = 配列(1,2,3,4,5); foreach ($arr as $v) {//取得可能} while (list($key, $v) = each($arr)) {//取得できません}
?> |
言い換えれば、PHP で配列を走査する順序は、要素が追加される順序に関連しているということは、記事の冒頭の質問の出力が次のとおりであることが明確にわかります。
フシンチェン
2007年
2008年
したがって、インデックス サイズに従って数値インデックス付き配列を走査したい場合は、foreach ではなく for を使用する必要があります
コードをコピー |
|
{ //現時点では、逐次走査(線形走査)とはみなされません}
http://www.bkjia.com/PHPjc/631283.html