我有一个包含以下数组的数组$bobby。它是按id排序的。
1
id="1"
color="blue"
size="7"
height="10"
beebop="z"
2
id="2"
color="red"
size="64"
height="52"
beebop="y"
3
id="3"
color="pink"
size="72"
height="39"
beebop="not_x"
我在创建php函数时遇到了困难,这个函数将创建一个只包含两个值的简化数组($bobby_simplified
),id和color?因此,新的数组将如下所示:
1
id="1"
color="blue"
2
id="2"
color="red"
3
id="3"
color="pink"
另外,在这个函数中,我们可以按颜色升序排序吗?
我试过以下几种方法,但没有运气:
foreach ($bobby AS $bobby_simplified) {
$id = $bobby_simplified['id'];
$color = $bobby_simplified['color'];
}
发布于 2017-05-10 01:38:46
您可以使用array_map()
函数获得一个新数组,使用array_slice()
获取子数组的前两个元素。检查一下现场演示。
$simplified = array_map(function($v){return array_slice($v, 0, 2, true);}, $array);
发布于 2017-05-10 01:45:57
可以使用以下方法按颜色按字母顺序对数组进行排序:
usort($arr, function($a, $b) { return strcmp($a['color'], $b['color']); });
发布于 2017-05-10 02:06:03
试试像这样的东西
foreach ($bobby AS $bobby_simplified){ $res =数组(“id”=>$bobby_simplified‘id’,"color"=>$bobby_simplified'color');} print_r($res);
https://stackoverflow.com/questions/43882191
复制相似问题