午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

array

 中間件 2020-09-03

array_column 函數(shù), 是能夠根據(jù)多維數(shù)組中共有的一個鍵值來提取多維數(shù)組中屬于這個鍵的值.

例如下面的數(shù)組:

復(fù)制代碼
$test = array(
    0 => array(
     'id' => 11, 'name'=>'zhangsan' ), 1 => array(
     'id' => 22, 'name'=> 'lisi' ), 2 => array(
     'id' => 33, 'name'=> 'wangmazi' ), 3 => array(
     'id' => 44, 'name'=> 'zhaoliu' ) );
復(fù)制代碼

要把他們提取到一個數(shù)組中, 那么就可以array_column()函數(shù);

$newNameArray = array_column($test, "name");

打印結(jié)果:

如果要指定鍵值, 則

$newNameArray = array_column($test, "name", "id");//$test 操作的數(shù)組; 第一name 是 提取某個列的值; 第二個id表示用id來作為值得鍵

打印結(jié)果:

方便好用, 但是只能在php5.5以上, 而且如果第二個參數(shù)  column_name  為 數(shù)字, 將返回空.

 

下面的自定義函數(shù)很好的解決了這個問題:

復(fù)制代碼
/**
 * array_column() // 不支持低版本;
 * 以下方法兼容PHP低版本
 */
function _array_column(array $array, $column_key, $index_key=null){
    $result = [];
    foreach($array as $arr) {
        if(!is_array($arr)) continue;

        if(is_null($column_key)){
            $value = $arr;
        }else{
            $value = $arr[$column_key];
        }

        if(!is_null($index_key)){
            $key = $arr[$index_key];
            $result[$key] = $value;
        }else{
            $result[] = $value;
        }
    }
    return $result; 
}
復(fù)制代碼

參數(shù)與array_column() 相同, 用法也相同, 支持任何索引形式.

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多