如图,想把这个数组重新组合,把name的值赋到下标那,这个怎么整?弄了半天都报错。。求教大佬
这是我一直在用的助手函数,自己写的,作用就是把二维数组根据指定键重新索引。
如果索引键那里用,分割了两个字段 ,返回的是索引=>值 的形式,原来的第二维数组的其它数据会丢弃
第三个参数,决定索引后的值 是单个数组,还是二维数组
比如,在订单获取产品的场景,一个订单号可对应多个产品,那么可以把多个订单混合在一起的产品数据按订单号索引 ,索引出来后就是一个订单号对应该订单下的产品数组
/**
* 索引二维数组
* @param $arr array 二维数组
* @param $index string 索引
* @param bool $ismulti 一对多模式
* @return array
*/
function array_index($arr,$index,$ismulti=false){
$return=[];
if(!empty($arr)) {
$val = '';
if (strpos($index, ',') > 0) {
$indexes = explode(',', $index);
$index = trim($indexes[0]);
$val = trim($indexes[1]);
}
foreach ($arr as $row) {
if ($ismulti) {
$return[$row[$index]][] = empty($val) ? $row : $row[$val];
} else {
$return[$row[$index]] = empty($val) ? $row : $row[$val];
}
}
}
return $return;
}
二楼正解
<?php
$a = array(
array(
'name' => '腾讯',
'longitude' => '34.55555',
'dimension' => '67.66666',
),
array(
'name' => '阿里',
'longitude' => '54.3333',
'dimension' => '23.66666',
),
array(
'name' => '百度',
'longitude' => '78.99999',
'dimension' => '98.77777',
)
);
echo '<pre>';
var_dump($a);
$b = array_column($a,Null,'name');
echo '</pre><hr><pre>';
var_dump($b);
echo '</pre>';
?>
2 回答2.9k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答980 阅读
3 回答1k 阅读
1 回答1.4k 阅读
1 回答537 阅读✓ 已解决