PHP 開発では、配列データを操作する必要があることがよくあります。 PHP 配列には、インデックス付き配列と連想配列の 2 つの形式があります。通常、コードを書く際には2次元配列(複数の連想配列を含む)を使用しますが、その際、2次元配列のキー名が不要な場合は、2次元配列からキー名を削除する必要があります。この記事では、このタスクを達成するための簡単な方法をいくつか紹介します。
1. array_values 関数を使用する
array_values 関数を使用すると、2 次元配列のキー名を簡単に削除できます。以下はサンプル コードです。
$person = array( array("name" => "Tom", "age" => 20, "gender" => "Male"), array("name" => "Lily", "age" => 18, "gender" => "Female"), array("name" => "Jane", "age" => 22, "gender" => "Female") ); $person = array_map('array_values', $person);
上記のコードでは、まず 3 つの連想配列を含む 2 次元配列を定義します。次に、array_map関数とarray_values関数によって、2次元配列内の各連想配列からキー名が削除されます。 array_map 関数について説明します。その機能は、指定された関数を配列の各要素に適用し、新しい配列を返すことです。
ここで、print_r 関数を使用して、キー名を削除した配列を出力できます。
Array ( [0] => Array ( [0] => Tom [1] => 20 [2] => Male ) [1] => Array ( [0] => Lily [1] => 18 [2] => Female ) [2] => Array ( [0] => Jane [1] => 22 [2] => Female ) )
出力結果からわかるように、2 次元配列内の各連想配列には、キー名が削除されました。
2. ループを使用する
もう 1 つの方法は、ループを使用して連想配列の値を 1 つずつ取得し、新しいインデックス配列に保存することです。以下はサンプル コードです:
$person = array( array("name" => "Tom", "age" => 20, "gender" => "Male"), array("name" => "Lily", "age" => 18, "gender" => "Female"), array("name" => "Jane", "age" => 22, "gender" => "Female") ); $newPerson = array(); foreach ($person as $p) { $newPerson[] = array_values($p); } print_r($newPerson);
上記のコードでは、foreach ループを使用して 2 次元配列 $person を走査し、毎回連想配列を取り出し、そのキー名をarray_values 関数を使用して、配列 $newperson の新しいインデックスに保存します。
これで、print_r 関数を使用して、キー名を削除した後に配列を出力できるようになります:
Array ( [0] => Array ( [0] => Tom [1] => 20 [2] => Male ) [1] => Array ( [0] => Lily [1] => 18 [2] => Female ) [2] => Array ( [0] => Jane [1] => 22 [2] => Female ) )
最初の方法と比較すると、この方法はより面倒ですが、より柔軟でもあります。ループ内で他の操作を実行することもできます。
概要
PHP 開発では、配列の操作が非常に一般的です。 2 次元配列のキー名の削除は一般的な要件であり、実装は比較的簡単です。この記事では、array_values関数とループを使用して2次元配列のキー名を削除する2つの方法を紹介します。いずれにしても、特別な場合にはニーズに応じて選択できます。
以上がPHPで2次元配列のキーを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。