php5.5_PHP チュートリアルで新しい配列関数 array_column を使用する方法

WBOY
リリース: 2016-07-21 15:00:31
オリジナル
750 人が閲覧しました

PHP5.5がリリースされました。新しい配列関数array_columnが追加されました。これは良い感じです!ただし、以前のバージョンの PHP を使用したい場合は、自分で実装する必要があります:
参考アドレス: https://wiki.php.net/rfc/array_column

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

if(!function_exists('array_column')){
function array_column($input, $columnKey, $indexKey=null){
$columnKeyIsNumber = (is_numeric($columnKey)) ?真/偽;
$indexKeyIsNull = (is_null($indexKey)) ?真/偽;
$indexKeyIsNumber = (is_numeric($indexKey)) ?真/偽;
$result = array();
foreach((array)$input as $key=>$row){
if($columnKeyIsNumber){
$tmp = array_slice($row, $columnKey, 1);
$tmp = (is_array($tmp) && !empty($tmp)) ?現在($tmp) : null;
}else{
$tmp = isset($row[$columnKey]) ? $row[$columnKey] : null;
}
if(!$indexKeyIsNull){
if($indexKeyIsNumber){
$key = array_slice($row, $indexKey, 1) );
$key = (is_array($key) && !empty($key)) ?現在($key) : null;
$key = is_null($key) ? 0 : $キー;
}else{
$key = isset($row[$indexKey]) ? $row[$indexKey] : 0;
}
}
$result[$key] = $tmp;
}
$result を返します。
}
}

// 例子を使用
$records = array(
array(
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe'
)、
配列(
'id' => 3245,
'first_name' => 'サリー',
'last_name' => 'スミス'
),
array(
'id' = > 5342、
'名' => 'ジェーン',
'last_name' => 'ジョーンズ'
),
array(
'id' => 5623,
'first_name' => 'ピーター',
'姓' => 「ドウ」
)
);
$firstNames = array_column($records, 'first_name');
print_r($firstNames);
/*
配列
(
[0] => ジョン
[1] => サリー
[2] => ジェーン
[3] => ピーター
)
*/

$records = 配列(
array(1, 'John', 'Doe'),
array(2, 'Sally', 'Smith'),
array(3, 'Jane', 'Jones')
);
$lastNames = array_column($records, 2);
print_r($lastNames);
/*
配列
(
[0] => ドウ
[1] => スミス
[2] => ジョーンズ
)
*/

$mismatchedColumns = array(


「あ」 => 'foo',
'b' => 'bar',
'e' => 'baz'
),
array(
'a' => 'qux',
「c」= > 'quux',
'd' => 'corge'
),
array(
'a' => 'grault',
'b' => 'garply',
'e' => ; 'ワルド'
)、
);
$foo = array_column($mismatchedColumns, 'a', 'b');
print_r($foo);
/*
配列
(
[bar] => foo
[0] => qux
[garply] => grault
)
*/



array_column は取得二組の要素 (PHP 5 >= 5.5.0) に使用されます。


// データベースから返される可能なレコードセットを表す配列
$records = array(
array(
'id' => 2135,
'first_name' => 'John',
' last_name' => 'Doe',
),
array(
'id' => 3245,
'first_name' => 'サリー',
'last_name' => 'スミス',
)、
array(
'id' => 5342,
'first_name' => 'ジェーン',
'last_name' => 'ジョーンズ',
),
array(
'id' 5623、
' first_name' => 'ピーター',
'last_name' => 'Doe',
)
);

$first_names = array_column($records, 'first_name');
print_r($first_names);
?> ;
Array
(
[0] => John
[1] => Sally
[2] => Jane
[3] => Peter
)// $recordsの使用例 #1 の配列
$last_names = array_column($records, 'last_name', 'id');
print_r($last_names);
?>
Array
(
[2135] => Doe
[3245] => スミス
[5342] => ジョーンズ
[5623] =>

http://www.bkjia.com/PHPjc/328056.html

www.bkjia.com

http://www.bkjia.com/PHPjc/328056.html技術記事 PHP5.5 は配布済みで、その中に新しい数集合関数数array_column が追加されています。ただし、低バージョンの PHP を使用する必要があります。自己实现: 参照場所:https://wiki.php.net/rfc/a...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート