PHP では、通常、2 次元配列は関連データのコレクションとして保存されます。このタイプのデータ構造では、各配列要素をループし、配列インデックス演算子を使用して各要素の値にアクセスできます。指定したフィールドのみにアクセスする必要がある場合は、array_column() 関数を使用するか、トラバーサル関数をカスタマイズできます。
1. array_column() 関数を使用する
array_column() 関数は、指定された配列内のフィールドの値を取得し、それを新しい配列として返すことができます。パラメータのリストは次のとおりです:
array_column(array $input,mixed $column_key,mixed $index_key = null) : array
パラメータの説明:
次の例は、array_column() 関数を使用して 2 次元配列内の指定されたフィールドを取得する方法を示しています:
// 二维数组 $data = array( array('id'=>1, 'name'=>'Alice', 'age'=>20), array('id'=>2, 'name'=>'Bob', 'age'=>23), array('id'=>3, 'name'=>'Charlie', 'age'=>25), ); // 获取名字字段值 $names = array_column($data, 'name'); print_r($names); // 输出 ['Alice', 'Bob', 'Charlie'] // 获取id和名字作为键的新数组 $new_data = array_column($data, 'age', 'name'); print_r($new_data); //输出 ['Alice'=>20, 'Bob'=>23, 'Charlie'=>25]
2. トラバーサル関数のカスタマイズ
If取得するフィールドは使用できません。固定位置の場合、または複雑な操作をカスタマイズする必要がある場合は、トラバーサル関数をカスタマイズして実装できます。以下はトラバーサル関数のサンプル コードです。
// 自定义一个遍历函数 function get_field_from_array($data,$field){ $result = array(); foreach($data as $item){ if(array_key_exists($field,$item)){ $result[] = $item[$field]; } } return $result; } // 二维数组 $data = array( array('id'=>1, 'name'=>'Alice', 'age'=>20), array('id'=>2, 'name'=>'Bob', 'age'=>23), array('id'=>3, 'name'=>'Charlie', 'age'=>25), ); // 获取名字字段值 $names = get_field_from_array($data,'name'); print_r($names); //输出 ['Alice', 'Bob', 'Charlie'] // 获取id字段值 $ids = get_field_from_array($data,'id'); print_r($ids); //输出 [1, 2, 3]
上記 2 つの方法により、2 次元配列内の指定されたフィールド値を簡単に取得できます。どの方法を使用する場合でも、不正な配列形式によって引き起こされるエラーや例外を避けるために、受信配列形式が関数の要件を満たしているかどうかに注意する必要があります。
以上がバックエンドPHPで2次元配列のフィールドを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。