ホームページ  >  記事  >  バックエンド開発  >  PHP は配列内の指定された列のインスタンスを取得します

PHP は配列内の指定された列のインスタンスを取得します

jacklove
jackloveオリジナル
2018-07-04 17:49:491383ブラウズ

次のエディターでは、配列内の指定された列を取得する PHP の例を紹介します。参考値として優れており、皆様の参考になれば幸いです。エディターに従って見てみましょう。

多次元配列 (2 次元配列を例に挙げます) の場合、多くの場合、列の 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 
)

方法 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);

実行結果は同じです。

上記の配列内の指定された列を取得する PHP の例は、エディターが共有するすべての内容です。参考になれば幸いです。また、PHP 中国語 Web サイトをサポートしていただければ幸いです。

#興味があるかもしれない記事:

PHP 配列アクセス インターフェイス ArrayAccess の使用分析

# #PHP イテレータ インターフェイス イテレータの使用分析


PHP 集約イテレータ インターフェイス IteratorAggregate の使用分析


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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。