ホームページ >バックエンド開発 >PHPの問題 >PHPで二次元配列を書く方法

PHPで二次元配列を書く方法

PHPz
PHPzオリジナル
2023-04-27 09:06:20523ブラウズ

PHP の 2 次元配列は非常に一般的かつ重要なデータ型であり、多次元同型配列の特性を持ち、PHP を学習する過程で習得しなければならない知識ポイントの 1 つでもあります。実際の開発では、フォームの処理やデータベースの操作など、2次元配列を使用する必要がある場面によく遭遇します。この記事では、PHP の 2 次元配列の定義、代入、アクセス、および実践的な操作スキルを詳しく紹介します。

PHP の 2 次元配列とは何ですか?

PHP では、2 次元配列は複数の 1 次元配列で構成される配列です。各 1 次元配列には複数のユニットを含めることができ、各ユニットは要素と呼ばれます。これらの 1 次元配列は、インデックスまたはキーと値のペアによって識別され、アクセスされます。したがって、2 次元配列は多次元データ構造に適しており、複数の関連データに関する情報をより適切に記述および保存できます。

2 次元配列の定義と代入

2 次元配列の定義と代入の方法は 1 次元配列と同様で、array() キーワードまたは [ を使用して作成できます。 ]。ただし、1 次元配列とは異なり、2 次元配列の各要素は 1 次元配列であるため、定義および初期化のために、1 次元配列内に [] または array() を再度追加する必要があります。

以下はいくつかの例です:

// 定义关联型二维数组
$users = array(
    array('id' => 1, 'name' => 'Tom', 'age' => 20),
    array('id' => 2, 'name' => 'Jerry', 'age' => 22),
    array('id' => 3, 'name' => 'Mike', 'age' => 24)
);

// 定义索引型二维数组
$students = [
    ['Tom', 'Mike', 'Jerry'],
    ['20', '24', '22']
];

// 定义空二维数组
$emptyArr = [[]];

実際の開発では、さまざまなニーズに応じてさまざまなタイプの 2 次元配列を選択して定義および初期化できます。たとえば、連想 2 次元配列は構造化データの格納に適していますが、インデックス付き 2 次元配列は非構造化データの格納に適しており、アクセスがより便利です。

2 次元配列へのアクセス

PHP で 2 次元配列にアクセスする方法も非常に簡単で、[] または {} を使用して必要な要素を選択できます。 [] を使用する場合は、行インデックスまたはキー値を前に入力し、列インデックスまたはキー値を後ろに入力する必要があります。キーと値のペアを使用してデータを保存する場合は、定義時に初期化する必要があることに注意してください。

次にいくつかの例を示します:

// 访问关联型二维数组
echo $users[0]['id']; // 输出 1
echo $users[1]['name']; // 输出 Jerry

// 访问索引型二维数组
echo $students[1][0]; // 输出 20
echo $students[0][2]; // 输出 Jerry

さらに、foreach ループを使用して 2 次元配列を走査することもでき、ネストされたループで各要素にアクセスして操作することもできます。

// 使用foreach循环遍历关联型二维数组
foreach($users as $user) {
    echo 'id: '.$user['id'].', name: '.$user['name'].', age: '.$user['age'].'<br>';
}

// 使用for循环遍历索引型二维数组
for($i=0; $i<count($students); $i++) {
    for($j=0; $j<count($students[$i]); $j++) {
        echo $students[$i][$j].'<br>';
    }
}

2 次元配列の一般的な操作スキル

上記の基本的な操作に加えて、PHP には、データをさらに操作および処理できる一般的な 2 次元配列の操作スキルもいくつか用意されています。便利に。

  1. 配列のソート

実際の開発では、通常、2 次元配列をソートする必要があり、sort()、rsort()、asort()、arsort を使用できます。 () およびその他の関数は、要素の値またはキー名に従って配列を昇順または降順に並べ替えます。ソートする前に、各要素が 1 次元配列であることを確認する必要があることに注意してください。そうしないと、エラーまたは例外が発生します。

// 将关联型二维数组按照id升序排列
array_multisort(array_column($users,'id'),SORT_ASC,$users);
print_r($users);
  1. 配列フィルタリング

さらに、array_filter() 関数を使用して 2 次元配列をフィルタリングし、条件を満たす要素で構成される新しい配列を返すこともできます。状況、契約条項。この関数は条件をカスタマイズし、条件を満たさない要素を除外して、新しく生成された配列を返すことができます。

// 过滤关联型二维数组年龄大于20的元素
$filteredUsers = array_filter($users, function($user) {
    return $user['age']>20;
});
print_r($filteredUsers);
  1. 配列のマージ

複数の配列を 1 つの配列にマージするには、array_merge() 関数を使用します。 2 次元配列の場合、各要素が 1 次元配列であることを確認する必要があります。そうしないと、エラーまたは例外が発生します。

// 合并两个关联型二维数组
$newUsers = array_merge($users, array(
    array('id' => 4, 'name' => 'Lucy', 'age' => 26),
    array('id' => 5, 'name' => 'John', 'age' => 28)
));
print_r($newUsers);

概要

上記は、PHP の 2 次元配列の基本概念、定義、代入、アクセス、およびいくつかの実践的な操作スキルです。実際の開発では、これらの知識をマスターし、二次元配列を柔軟に活用してより効率的にプログラミング作業を行う必要があります。同時に、プログラムが正常かつ効率的に実行できるようにし、プログラムの保守性と可読性を向上させるために、配列の次元、型、サイズなどの要素にも注意を払う必要があります。

以上がPHPで二次元配列を書く方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。