PHP では、データを保存および管理するために配列を使用する必要があることがよくあります。場合によっては、別の配列を含む配列、いわゆる多次元配列に遭遇することがあります。 PHPで別の配列内に含まれる配列を呼び出すにはどうすればよいですか?この記事では詳しく紹介していきます。
多次元配列とは、配列内に別の配列または複数の配列を格納する配列を指します。複数のネスト レベルを持つことも、異なるデータ型にすることもできます。例:
$arr = array( '中国' => array('北京', '上海', '广州'), '美国' => array('纽约', '洛杉矶', '芝加哥'), '英国' => array('伦敦', '曼彻斯特', '爱丁堡') );
この例では、$arr 配列には 3 つのキーと値のペアが含まれており、各キーと値のペアは配列であり、これらの配列には複数の都市名が含まれています。ネストレベルが 2 であるため、これは 2 次元配列です。
もちろん、多次元配列はより複雑になる可能性があり、ネストされたレベルの数は自由に増やすことができます。
PHP で多次元配列内の要素にアクセスするには、添え字 (つまり、キー値) にアクセスします。たとえば、次のメソッドを使用して、配列 $arr 内の中国の都市の最初の都市を出力できます。
echo $arr['中国'][0]; //输出北京
ここで、$arr['China'] は特定の都市名ではなく、配列を返すことに注意してください。 , したがって、角括弧 [] を使用してこの配列内の要素にアクセスできます。同様に、米国の 3 番目の都市 (つまり、シカゴ) を訪問したい場合は、次のように書くことができます:
echo $arr['美国'][2]; //输出芝加哥
多次元配列のアクセス モードは、1 次元配列のアクセス モードと似ています。ただし、ネストされた部分配列にアクセスするには追加の括弧を追加する必要があります。要素の値を変更する必要がある場合は、このメソッドを使用して操作することもできます。
実際の開発では、多次元配列の走査が必要になることがよくあります。多次元配列内の特定の要素を出力するだけなら簡単ですが、配列全体をループする必要がある場合は、トラバーサルを使用する必要があります。
PHP には、for ループ、foreach ループ、while ループなど、配列を走査するためのさまざまな方法が用意されています。ここでは、foreach ループを例として、上記の多次元配列を走査する方法を示します。
まず、二重ループを使用して 2 次元配列を走査します。次のコードは、上記の配列 $arr 内のすべての都市名を出力します。
foreach ($arr as $country => $cities) { echo $country . '的城市有:'; foreach ($cities as $city) { echo $city . ', '; } echo '<br>'; }
この例では、外側の foreach ループを使用して、メイン配列 $arr の各要素、つまりすべての国とCity 配列。次に、内部の foreach ループを使用して各都市配列を走査し、対応する都市名を出力します。
高次元配列の場合、対応するループ層の数を増やす必要があります。このプロセスは実際の状況に応じて柔軟に調整する必要があります。
$arr['中国'][] = '深圳'; //添加深圳到中国城市数组的末尾
//遍历方式 function findCity($arr, $cityName) { foreach ($arr as $country => $cities) { if (in_array($cityName, $cities)) { return $country; } } return false; } //in_array()方式 if (in_array('芝加哥', $arr['美国'])) { echo '美国有芝加哥这个城市。'; }
$arr['英国'][2] = '布莱顿'; //将英国城市数组中的第三个城市改成布莱顿
unset($arr['中国'][0]); //删除中国的第一个城市北京
以上がPHPで配列内の部分配列を呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。