配列内の指定された列を取得する PHP メソッド

小云云
リリース: 2023-03-21 19:14:01
オリジナル
5898 人が閲覧しました

この記事では主に、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 1 次元配列内の特定の値要素を削除する方法

以上が配列内の指定された列を取得する PHP メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート