PHP では、配列内のすべての要素のキーを削除し、その値のみを保持する必要がある場合があります。通常、この操作はループ内で実行する必要があるため、ループを使用して配列からキーを削除する方法を知る必要があります。この記事では、配列を簡単に扱えるように、この操作を実現するためのいくつかの方法を紹介します。
方法 1: foreach ループを使用する
最も基本的な方法は、foreach ループを使用して配列を走査し、各要素の値を新しい配列に格納することです (つまり、鍵)。これはデモ コードです:
// 原始数组 $data = array('a' => 1, 'b' => 2, 'c' => 3); // 新数组 $new_data = array(); // foreach循环 foreach($data as $value) { // 将元素的值存储到新数组中 $new_data[] = $value; } // 输出新数组 print_r($new_data);
これは次の結果を出力します:
Array ( [0] => 1 [1] => 2 [2] => 3 )
方法 2: array_values を使用する function
PHP には、array_values という関数が用意されています。配列のすべての要素の値を新しい配列に保存し、連続する数値キーで表します。この機能は私たちのニーズに非常に適しています。これはデモ コードです:
// 原始数组 $data = array('a' => 1, 'b' => 2, 'c' => 3); // 新数组 $new_data = array_values($data); // 输出新数组 print_r($new_data);
これは次の結果を出力します:
Array ( [0] => 1 [1] => 2 [2] => 3 )
方法 3: array_map 関数を使用する
PHP には、array_map という関数も用意されています。配列内の要素を変換し、その結果を新しい配列に格納できます。この関数を使用して、配列からキーを削除できます。これはデモ コードです:
// 原始数组 $data = array('a' => 1, 'b' => 2, 'c' => 3); // array_map函数 $new_data = array_map(function($value) { return $value; }, $data); // 输出新数组 print_r($new_data);
これは次の結果を出力します:
Array ( [a] => 1 [b] => 2 [c] => 3 )
上記のコードの array_map 関数は、各要素自体の値を返すだけです。これは、匿名関数を使用し、それを最初の引数として array_map 関数に渡すことで実現できます。 array_map 関数の 2 番目のパラメーターは元の配列です。これにより、元の配列の各要素に対して無名関数が 1 回呼び出され、結果が新しい配列に格納されます。
方法 4: array_column 関数を使用する
PHP の array_column 関数は、多次元配列から指定された列の値を取得できます。 1 次元配列では、この関数を使用してキーを削除し、すべての値を返すことができます。これはデモ コードです:
// 原始数组 $data = array('a' => 1, 'b' => 2, 'c' => 3); // array_column函数 $new_data = array_column(array($data), 0); // 输出新数组 print_r($new_data);
これは次の結果を出力します:
Array ( [0] => 1 [1] => 2 [2] => 3 )
上記のコードでは、array_column 関数が必要とするため、最初に元の配列を多次元配列にラップします。入力として多次元配列。次に、配列内の値列を表す列インデックスとして 0 を指定します。これにより、すべての値で構成される新しい配列が返されます。
結論
PHP では、配列のキーを削除してその値のみを保持する方法がたくさんあります。この操作を実現するには、foreach ループ、array_values 関数、array_map 関数、または array_column 関数を使用できます。どの方法を選択するかは、特定の状況 (入力データ型、コーディング スタイルの好みなど) によって異なります。この記事で説明したテクニックが、あなたが達成したいことを達成するのに役立つことを願っています。
以上がPHPで配列キーをループする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。