array_column() は、配列内の指定されたキー名の列を返します (PHP 5 >= 5.5.0) array_column — array php リファレンス マニュアルで指定された列を返します: http://www.php.net/manual /zh/function .array-column.php
PHPのバージョンが5.5.0未満の場合はどうすればよいですか?カスタマイズしてみましょう 次のコードは onethink から取得したものです
- /**
- * 配列内の指定された列を返します
- * http://www.onethink.cn
- * /Application/Common/Common/function.php
- *
- * array_column — PHP 5 >= 5.5.0 のデフォルト関数
- * PHP 5 *
- * @access public
- * @param array $input 取り出す必要がある配列列の多次元配列 (または結果セット)
- * @param string $ columnKey 値を返す必要がある列。インデックス配列の列インデックス、または連想配列の列のキーにすることができます。 NULL にすることもでき、その場合、配列全体が返されます (配列キーをリセットするために、indexKey パラメーターと一緒に使用すると非常に便利です)
- * @param string $indexKey は、返された配列のインデックス/キー列です。列インデックスの整数、または文字列キー値です。
- * @return 配列
- */
- if (! function_exists('array_column'))
- {
- function array_column(array $input, $columnKey, $indexKey = null)
- {
- $result = array() ;
- if (null === $indexKey)
- {
- if (null === $columnKey)
- {
- $result = array_values($input);
- }
- else
- {
- foreach ($input as $row)
- {
- $result[] = $row[$columnKey];
- }
- }
- }
- else
- {
- if (null === $columnKey)
- {
- foreach ($input as $row)
- {
- $ result[$row[$indexKey]] = $row;
- }
- }
- else
- {
- foreach ($input as $row)
- {
- $result[$row[$indexKey]] = $row[$columnKey] ;
- }
- }
- }
- return $result;
- }
- }
コードをコピー
-
- // データベースから返された可能なレコードセットを表す配列
- $records = array(
- array(
- 'id' => 2135,
- 'first_name' => 'John' ,
- 'last_name' => 'Doe',
- ),
- array(
- 'id' => 3245,
- 'first_name' => 'サリー',
- 'last_name' => 'スミス',
- ),
- array(
- 'id' => 5342,
- 'first_name' => 'Jane',
- 'last_name' => 'ジョーンズ',
- ),
- array(
- 'id' => 5623 ,
- 'first_name' => 'ピーター',
- 'last_name' => 'Doe',
- )
- );
-
- $first_names = array_column($records, 'first_name');
- print_r($first_names);
- ?>
コードをコピー
- 配列
- (
- [0] =>ジョン
- [1] =>サリー
- [2] =>ジェーン
- [3] =>ピーター
- )
コードをコピー
|