ホームページ  >  記事  >  バックエンド開発  >  PHPの2次元配列値関数array_columnの使用に対応

PHPの2次元配列値関数array_columnの使用に対応

WBOY
WBOYオリジナル
2016-06-20 13:03:301189ブラウズ

PHP5.5 がリリースされ、新しい配列関数 array_column が追加されました。いい感じです。

ただし、以前のバージョンの PHP を使用したい場合は、自分で実装する必要があります:

if(!function_exists('array_column')){ <br />    function array_column($input, $columnKey, $indexKey=null){ <br />        $columnKeyIsNumber      = (is_numeric($columnKey)) ? true : false; <br />        $indexKeyIsNull         = (is_null($indexKey)) ? true : false; <br />        $indexKeyIsNumber       = (is_numeric($indexKey)) ? true : false; <br />        $result                 = array(); <br />        foreach((array)$input as $key=>$row){ <br />            if($columnKeyIsNumber){ <br />                $tmp            = array_slice($row, $columnKey, 1); <br />                $tmp            = (is_array($tmp) && !empty($tmp)) ? current($tmp) : null; <br />            }else{ <br />                $tmp            = isset($row[$columnKey]) ? $row[$columnKey] : null; <br />            } <br />            if(!$indexKeyIsNull){ <br />                if($indexKeyIsNumber){ <br />                    $key        = array_slice($row, $indexKey, 1); <br />                    $key        = (is_array($key) && !empty($key)) ? current($key) : null; <br />                    $key        = is_null($key) ? 0 : $key; <br />                }else{ <br />                    $key        = isset($row[$indexKey]) ? $row[$indexKey] : 0; <br />                } <br />            } <br />            $result[$key]       = $tmp; <br />        } <br />        return $result; <br />    } <br />} 


// 使用例
$records = array( <br />    array( <br />        'id' => 2135, <br />        'first_name' => 'John', <br />        'last_name' => 'Doe'<br />    ), <br />    array( <br />        'id' => 3245, <br />        'first_name' => 'Sally', <br />        'last_name' => 'Smith'<br />    ), <br />    array( <br />        'id' => 5342, <br />        'first_name' => 'Jane', <br />        'last_name' => 'Jones'<br />    ), <br />    array( <br />        'id' => 5623, <br />        'first_name' => 'Peter', <br />        'last_name' => 'Doe'<br />    ) <br />); <br />$firstNames = array_column($records, 'first_name'); <br />print_r($firstNames); 

/*
配列
(
[0] =>ジョン
[1] =>サリー
[2] =>ジェーン
[3] => ; ピーター
)
*/


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