PHP では、配列は非常に一般的に使用されるデータ型です。多くの PHP 開発者は、データの保存、処理、走査に配列を使用すると思います。実際の開発では、多次元配列を 1 次元配列に変換する必要があり、キー名を保持する必要がある場合があります。実際の開発ではこのような操作はよくあります。この記事では、PHP を使用して 2 次元配列を 1 次元配列に変換し、キー名を保持する方法を紹介します。
1. PHP 配列とは何ですか?
2 次元配列を 1 次元配列に変換する方法を紹介する前に、PHP における配列とは何かを理解する必要があります。 PHP では、配列を使用して一連の値を保存できます。これらの値は、整数、浮動小数点、文字列、オブジェクトなど、任意の型にすることができます。配列内の各値は、文字列や整数などのキーに関連付けられます。他の言語と比較して、PHP の配列は非常に柔軟で、さまざまなニーズを満たすことができます。
PHP で配列を定義するには 2 つの方法があります。 1 つの方法は、[]" を使用して定義することです。たとえば:
$arr1 = [1, 2, 3]; $arr2 = ['name' => 'xiaoming', 'age' => 18];
もう 1 つの方法は、array() を使用して定義することです。たとえば:
$arr3 = array(4, 5, 6); $arr4 = array('name' => 'xiaohuang', 'age' => 20);
配列の構造は次のようになります。 var_dump 関数を通じて表示される例:
var_dump($arr1); var_dump($arr2); var_dump($arr3); var_dump($arr4);
取得された出力結果は次のとおりです:
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } array(2) { ["name"]=> string(8) "xiaoming" ["age"]=> int(18) } array(3) { [0]=> int(4) [1]=> int(5) [2]=> int(6) } array(2) { ["name"]=> string(8) "xiaohuang" ["age"]=> int(20) }
出力結果からわかるように、$arr1 と $arr3 は数値でインデックス付けされた配列であり、 $arr2 と $arr4 は連想配列です。次に、連想配列内の 2 次元配列を 1 次元配列に変換し、キー名を保持する方法を紹介します。
2. 二次元配列を変換する次元配列から 1 次元配列への変換
次の 2 次元配列を想定します:
$students = array( array('name' => 'xiaoming', 'age' => 18, 'sex' => 'male'), array('name' => 'xiaohong', 'age' => 19, 'sex' => 'female'), array('name' => 'xiaozhang', 'age' => 20, 'sex' => 'male') );
この 2 次元配列には 3 つの要素が含まれており、各要素は生徒の情報です。名前 (name)、年齢 (age)、性別 (性別) が含まれます。次に、この 2 次元配列を 1 次元配列に変換する必要があります。
foreach ステートメントを使用して配列トラバーサルを実装できます。例:
$newArr = array(); foreach($students as $student) { foreach($student as $key => $value) { $newArr[$key][] = $value; } }
上記のコードでは、最初の foreach ループは、$students 配列の各要素、つまり各生徒の情報を走査します。2 番目の foreach ループは、各生徒の情報内のキーと値のペアを走査します。つまり、生徒の名前、年齢、性別です。各走査で、走査されたキーと値のペアを新しい 1 次元配列に追加します。最終的に取得される $newArr 配列の構造は次のとおりです:
array(3) { ["name"]=> array(3) { [0]=> string(8) "xiaoming" [1]=> string(8) "xiaohong" [2]=> string(9) "xiaozhang" } ["age"]=> array(3) { [0]=> int(18) [1]=> int(19) [2]=> int(20) } ["sex"]=> array(3) { [0]=> string(4) "male" [1]=> string(6) "female" [2]=> string(4) "male" } }
ご覧のとおり、$newArr 配列内の各キーと値のペアは保持されます 元の 2 次元配列内のキー名は削除されます このように、後続の処理で特定のキーに基づいて操作する必要がある場合
3. キー名の意味を保持する
なぜキー名を保持する必要があるのですか? キー名は特定の値を識別するために使用されます。キー名を保持する利点は、必要な値を見つけるためにループすることなく、キー名を使用して特定の値に直接アクセスできることです。さらに、キー名を保持すると、データ処理をより柔軟に行うことができます。
たとえば、上記の $newArr 配列を検索する必要がある場合、18 歳の学生の性別の場合、コードは次のように記述できます。 ##
echo $newArr['sex'][array_search(18, $newArr['age'])];上記のコードからわかるように、キー名は保持されるため、 $newArr['age'] を直接使用して学生の年齢情報を検索し、array_search 関数を使用してインデックス値を見つけることができます。 18 歳の生徒で、$newArr['sex'] を使用して生徒の性別情報を検索します。このクエリ方法は、ループを使用して検索するより効率的です。 4. まとめ
この記事では、PHP を使用して 2 次元配列を 1 次元配列に変換し、キー名を保持する方法を簡単に紹介します。実際の開発では、キー名を保持することでデータ処理が便利になり、クエリ速度も向上します。も改善され、より効率的になりました。データを処理するときは、コードの可読性、保守性、拡張性が向上するように、配列内のキー名を使用して操作を実行することに注意する必要があります。
以上がPHP キー名を保持した2次元配列から1次元配列への詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。