php - 二维数组中的一个【键的值】作为一维的 【键】
黄舟
黄舟 2017-04-10 16:03:03
0
3
450
$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 没有成功。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆 (3)
巴扎黑
$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) ); } }
      Ty80

      php中不能直接改变数组的键名,需要添加新项然后删掉旧项。

      $arr[$newkey] = $arr[$oldkey]; unset($arr[$oldkey]);
        最新下載
        更多>
        網站特效
        網站源碼
        網站素材
        前端模板
        關於我們 免責聲明 Sitemap
        PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!