Excel::load($filePath, function ($reader) { $reader = $reader->getSheet(7);//获取excel的第1张表 $results = $reader->toArray();//获取表中的数据 vpd($results); }); $excel = Excel::load($filePath); $reader = $excel->getSheet(7);//获取excel的第1张表 $results = $reader->toArray();//获取表中的数据 vpd($results);
$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 没有成功。
- 2015年09月16日提问
- 评论
- 邀请回答
- 编辑
3个回答
答案对人有帮助,有参考价值1答案没帮助,是错误的答案,答非所问
已采纳
$array = [你的数组]
$newArray = array_reduce($array,function(&$newArray,$v){
$newArray[$v['univs_id']] = $v;
return $newArray;
});
$newArray就是你要的数组
- 2015年09月17日回答
- 2 评论
- 赞赏
- 编辑
满月微光572 声望
答案对人有帮助,有参考价值4答案没帮助,是错误的答案,答非所问
$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)
);
}
}
- 2015年09月17日回答
- 1 评论
- 赞赏
- 编辑
bandit1.1k 声望
答案对人有帮助,有参考价值0答案没帮助,是错误的答案,答非所问
php中不能直接改变数组的键名,需要添加新项然后删掉旧项。
$arr[$newkey] = $arr[$oldkey];
unset($arr[$oldkey]);
- $array = array(
- array('id'=>'3','name'=>'tom'),
- array('id'=>'5','name'=>'jerry'),
- array('id'=>'24','name'=>'spike')
- );
- $newArray1 = array_column($array,NULL,'id');
- var_dump($newArray1);
- //结果
- array(
- '3'=>array('id'=>'3','name'=>'tom'),
- '5'=>array('id'=>'5','name'=>'jerry'),
- '24'=>array('id'=>'24','name'=>'spike')
- )
- $newArray2 = array_column($array,NULL,'name');
- var_dump($newArray2);
- //结果
- array(
- 'tom'=>array('id'=>'3','name'=>'tom'),
- 'jerry'=>array('id'=>'5','name'=>'jerry'),
- 'spike'=>array('id'=>'24','name'=>'spike')
- )