2

私が見つけたものからforeach、要素を追加する順序で配列をトラバースします。このコードを参照してください:

$array = array();
$array[0] = "me0";
$array[1] = "me1";
$array[2] = "me2";
$array[4] = "me4";
$array[5] = "me5";

//changing
$array[3] = "me3Changed";

foreach($array as $item)
{
    echo $item.'<br />';
}

echo '<br />';
ksort($array);

foreach($array as $item)
{
    echo $item.'<br />';
}

出力:

me0
me1
me2
me4
me5
me3Changed

me0
me1
me2
me3Changed
me4
me5

これは、配列がfor($i;$i<$arrayLength;$i++) どのようにトラバースされていないかを示しています。phpがC++で書かれていると仮定すると、このようにするいくつかのc++関数を使用する必要があります。配列をトラバースする方法を誰かに説明してもらえますか?foreach


インデックスによる配列のトラバースのC++の例:

std::string arr[10]; 
arr[0] = "me0";
arr[1] = "me1";
arr[2] = "me2";
arr[4] = "me4";
arr[5] = "me5";

//changing
arr[3] = "me3Changed";

for(int x = 0; x < 6;x++)
{
    std::cout << arr[x] << std::endl;
}
4

2 に答える 2

4

PHP配列は、順序付けられたKey-Valueストアです。キーには順序があります。これは、キーが配列に追加された(または、スプライスされたり、ソートされたり、順序を決定した)順序です。foreachこの固有の組み込みの順序で配列をトラバースします。

これがCの何かと比較できるかどうかはわかりません。PHPの配列は、そのよりユニークな機能の1つです。ほとんどの言語には、Key-Valueストア(辞書/ハッシュ)または順序付けられた配列(リスト)があります。PHPは、唯一の配列型としてKey-Valueストアを注文しました。

于 2012-12-11T18:12:04.713 に答える
0

キーと値のペアを追加すると、配列が形成されます。こちらをご覧ください。したがって、このforeach順序でもトラバースします。

for($i;$i<$arrayLength;$i++)一方、を指定しているループと比較しているindexため、常にそのキーを検索し、対応する値を出力します。

編集: 上記を説明する例。

于 2012-12-11T17:54:43.437 に答える