この記事では主に、PHP で配列内の指定された列を取得する方法について説明します。多次元配列 (例として 2 次元配列) の場合、多くの場合、For の列の 1 つを取得する必要があります。たとえば、2 次元配列であるユーザー データがいくつかあります。これらのユーザーの名前を取得するには、さまざまな方法があります:
$arr = array( array( 'id'=>'101', 'name'=>'qu', 'age'=>28 ), array( 'id'=>'102', 'name'=>'you', 'age'=>24 ), array( 'id'=>'103', 'name'=>'zheng', 'age'=>22 ), array( 'id'=>'104', 'name'=>'zhu', 'age'=>23 ) );
方法 1: PHP 組み込み関数 array_column() を使用して実装します
array array_column ( array $input , mixed $column_key [, mixed $index_key ] )
実行ステートメント:
$result = array_column($arr,'name'); print_r($result);
結果は次のとおりです:
Array ( [0] => qu [1] => you [2] => zheng [3] => zhu )
オプションのパラメータindex_keyが指定されている場合、入力配列内のこの列の値が、入力配列内の対応する値のキーとして使用されます。返された配列。
$result = array_column($arr,'name','id'); print_r($result);
結果は以下の通りです:
Array ( [101] => qu [102] => you [103] => zheng [104] => zhu )
この関数はPHP5.5以降でのみ有効なので注意して使用してください。
方法 2: PHP 組み込み関数 array_map() を使用して
array array_map ( callable $callback , array $arr1 [, array $... ] )
array_map() を実装すると、コールバックが適用された後、arr1 内のすべてのユニットを含む配列が返されます。最初のパラメータはコールバック関数であり、戻り値は配列です。配列の各要素はコールバック関数 (callback) によって処理されます。
最初に処理関数を宣言します:
function get_val($arr){ return $arr['name']; }
次にarray_map()関数を実行します:
$result = array_map('get_val',$arr); print_r($result);
実行結果は次のとおりです:
Array ( [0] => qu [1] => you [2] => zheng [3] => zhu )
ここでのarray_map()の最初のパラメータはコールバック関数であり、定義されています事前に名前付き関数、ここでは js のような匿名関数も使用できます:
$result = array_map(function($v){ return $v['name']; },$arr);
実行結果は同じです。
関連する推奨事項:
2 つの配列内の異なる要素をクエリする PHP のコード共有
以上が配列内の指定された列を取得する PHP メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。