二維數組中的一個【鍵的值】作為一維的 【鍵】

來源:互聯網
上載者:User
$array = array(    0 => array(            'univs_id' => 1001,            'univs_name' => '清華大學',            'province_id' => 110000,            'province' => '北京',        ),    1 => array(            'univs_id' => 1002,            'univs_name' => '北京大學',            'province_id' => 110000,            'province' => '北京',        ),    2 => array(            'univs_id' => 1003,            'univs_name' => '中國人民大學',            'province_id' => 110000,            'province' => '北京',        ),);

這樣類型的數組,如果不使用foreach進行遍曆如何能達到下面的效果

$array = array(    1001 => array(            'univs_id' => 1001,            'univs_name' => '清華大學',            'province_id' => 110000,            'province' => '北京',        ),    1002 => array(            'univs_id' => 1002,            'univs_name' => '北京大學',            'province_id' => 110000,            'province' => '北京',        ),    1003 => array(            'univs_id' => 1003,            'univs_name' => '中國人民大學',            'province_id' => 110000,            'province' => '北京',        ),);

試了array_map 沒有成功。

回複內容:

$array = array(    0 => array(            'univs_id' => 1001,            'univs_name' => '清華大學',            'province_id' => 110000,            'province' => '北京',        ),    1 => array(            'univs_id' => 1002,            'univs_name' => '北京大學',            'province_id' => 110000,            'province' => '北京',        ),    2 => array(            'univs_id' => 1003,            'univs_name' => '中國人民大學',            'province_id' => 110000,            'province' => '北京',        ),);

這樣類型的數組,如果不使用foreach進行遍曆如何能達到下面的效果

$array = array(    1001 => array(            'univs_id' => 1001,            'univs_name' => '清華大學',            'province_id' => 110000,            'province' => '北京',        ),    1002 => array(            'univs_id' => 1002,            'univs_name' => '北京大學',            'province_id' => 110000,            'province' => '北京',        ),    1003 => array(            'univs_id' => 1003,            'univs_name' => '中國人民大學',            'province_id' => 110000,            'province' => '北京',        ),);

試了array_map 沒有成功。

$array = [你的數組]$newArray = array_reduce($array,function(&$newArray,$v){    $newArray[$v['univs_id']] = $v;    return $newArray;});

$newArray就是你要的數組

$new_array = array_combine(array_column($array,'univs_id'),$array);

array_column在php5.5以上才能使用
低版本array_column實現

if(!function_exists('array_column')){     function array_column($array,$key){        return array_map(            function($element,$key){return $element[$key];},            $array,            array_fill(0,count($array),$key)        );    }}

php中不能直接改變數組的鍵名,需要添加新項然後刪掉舊項。

$arr[$newkey] = $arr[$oldkey];unset($arr[$oldkey]);
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.