ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで 2 次元配列内のキーのセットを取得する方法

PHP_PHP チュートリアルで 2 次元配列内のキーのセットを取得する方法

WBOY
WBOYオリジナル
2016-07-13 10:29:03893ブラウズ

この記事はコード共有を目的としたもので、作業中の「大きな牛」コードを見つけたので共有したいと思います。

具体的には以下の二次元配列をライブラリから読み込みます。

コードリスト:

コードをコピー コードは次のとおりです:

$user = array(
0 => array(
'id' => 1,
'name' => '張三 ',
'email' => 'zhangsan@sina.com',
),
1 => array(
'id' => 2,
'name' => '李思' ,
' メール' => 'lisi@163.com',
),
2 => array(
'id' => 5,
'名前' => '王五',
'メール' => ; '10000@qq.com',
),
...
);

上記の配列形式は、主に PHP+MYSQL を使ったことがある人にはよく知られています。

それで、次の 2 つの要件があります:

1) インデックス「id」のセットを取得し、それを 1 ビット配列として保存します。つまり、array(1,2,5) を取得します。

私はしません友達が何をするか知っている 書くことはどうでしょうか?

以前の書き方であれば、foreachを直接使用し、array_pushを使用して配列変数に1つずつ詰めるでしょう。これも実現可能です。ただし、PHP のネイティブ関数を使用する方がループよりも確実に効率的であるため、この書き方はパフォーマンスに影響します。

コードリスト:
コードをコピー コードは次のとおりです:

$ids = array();
$ids = array_map('array_shift', $user);

上記のコードは次のとおりです。欲しいものを手に入れる 結果が欲しい 関数の使い方についてのマニュアルを読みたい。

実際、array_column 関数を使用する別の解決策がありますが、この関数には PHP バージョン要件 (PHP 5 >= 5.5.0) が必要です。

コードリスト:
コードをコピーします コード

$ids = array();
$ids = array_column($user, 'id');

この場合、効率は確実に高くなります。

2) インデックス「name」のセットを取得し、それを 1 桁の配列として保存します。つまり、get array('Zhang San', 'Li Si', 'Wang Wu')

私の以前の書き込みによるとメソッドでは、foreach と同じで、array_push で配列変数に 1 つずつ詰め込みます。効率的なコードのリストを参照してください。

コードリスト:
コードをコピーします コードは次のとおりです:

$names = array();
$names = array_reduce($user, create_function('$v,$w', ' $v[$ w["id"]]=$w["name"];return $v;'));

結果を取得します:
コードをコピーします コードは次のとおりです。

array(
1 => 'Zhang San',
2 => 'Li Si',
5 => '王五',

よくある子供の靴、修正してくださいできるだけ早く彼らを!

http://www.bkjia.com/PHPjc/779571.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/779571.html技術記事この記事はコード共有を目的としたもので、作業中の「大きな牛」コードを見つけたので共有したいと思います。 具体的には、以下の二次元配列をライブラリから読み込みます。 コードリスト...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。