PHP は Web 開発で広く使用されているプログラミング言語で、習得が簡単で強力です。 PHPにおいて、配列は実際の開発でよく使われる重要なデータ型です。配列の中でも、2 次元配列が一般的な形式です。次に、この記事では、PHP における 2 次元配列の定義、使用、トラバーサル、および一般的な問題の解決策を詳しく紹介します。
PHP では、2 次元配列は実際には配列内で定義された配列であり、数値、連想配列、または混合配列を使用できます。 。
2次元配列の定義形式は:
$array = array(array("value1", "value2", "value3"), array("value4", "value5", "value6"));
このうち、最初の配列には「value1」、「value2」、「value3」の3つの値が格納されます。 、2 番目の配列には、「value4」、「value5」、「value6」の 3 つの値が格納されます。見てわかるように、2 次元配列の要素は任意のデータ型にすることができます。
実際の開発では、2 次元配列を使用して、テーブル、行列などの複雑なデータ構造を格納できます。 2 次元配列を使用する場合は、次の点に注意する必要があります。
2.1 2 次元配列要素へのアクセス
PHP では、2 次元配列要素にアクセスする 2 つの方法が提供されています。インデックスとキーワード。
インデックスによる 2 次元配列要素へのアクセスは、通常の配列へのアクセスと同様です。以下に示すように、同時に 2 つのインデックスを指定するだけで済みます。連想配列。次に示すように、2 次元配列要素にはキーワードを通じてアクセスできます。
$array = array(array("value1", "value2", "value3"), array("value4", "value5", "value6")); echo $array[0][0]; // 输出"value1"
2.2 2 次元配列要素を変更する
2 次元配列要素を変更するには 2 つの方法もあります。つまり、インデックスまたはキーワードを使用します。以下にサンプル コードを示します。
$array = array("row1" => array("name" => "John", "age" => 30), "row2" => array("name" => "Jane", "age" => 25)); echo $array['row1']['name']; // 输出"John"
連想配列を使用する場合は、キーワードに対応する値を更新することで配列要素を変更することもできます。たとえば、次のようになります。
$array = array(array("value1", "value2"), array("value3", "value4")); $array[0][1] = "new value"; // 修改数组第一行、第二列的值
2.3 追加と2 次元配列要素の削除
2 次元配列要素の追加と削除は、通常の配列とほぼ同じで、操作中に対応するインデックスまたはキーワードを指定するだけです。以下はサンプル コードです。
$array = array("row1" => array("name" => "John", "age" => 30), "row2" => array("name" => "Jane", "age" => 25)); $array['row2']['age'] = 28; // 修改数组第二行age的值
// 添加数组元素 $array = array(array("value1", "value2", "value3"), array("value4", "value5", "value6")); $array[1][] = "new value"; // 在第二行末尾添加一个元素 // 删除数组元素 unset($array[0][1]); // 删除第一行、第二列的元素
上記のコードの出力結果は「value1value2value3value4」で、2 次元配列が各行の要素の順序で走査されることを示しています。
一般的な問題の解決策4.1 2 次元配列のソート
PHP は、配列をソートするための sort()、rsort()、asort()、arsort() およびその他の関数を提供します。並べ替えますが、これらの関数は 1 次元配列のみを並べ替えることができます。2 次元配列の場合は、独自の並べ替え関数を作成する必要があります。
4.2 2 次元配列の長さを計算する
PHP で 2 次元配列の長さを計算するには、count() 関数をネストする必要があります。例:
$array = array(array("value1", "value2"), array("value3", "value4")); for($i = 0; $i < count($array); $i++) { for($j = 0; $j < count($array[$i]); $j++) { echo $array[$i][$j]; } }
4.3 処理には 2 次元配列のフォーム送信が含まれます
フォームに 2 次元配列が含まれる場合は、PHP の Serialize() 関数を使用してそのデータを文字列にシリアル化してから、次を使用する必要があります。 parse_str() 関数を使用して 2 次元配列に復元します。以下はサンプル コードです。
$array = array(array("value1", "value2", "value3"), array("value4", "value5", "value6")); echo count($array); // 输出2 echo count($array[0]); // 输出3
以上がPHPで二次元配列を使う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。