我有一个如下所示的数组:
$ar = ['a'=>'apple', 'b'=>'banana', 'c'=>'pear'];
我想按键拆分为多个数组并评估我的预期结果
$new_ar=[['phrase'=>'a','fruit'=>'apple'],['phrase'=>'b','fruit'=>'banana'],['phrase'=>'c','fruit'=>'pear']];
任何解决方案谢谢。
如果您制作了一个键数组,您可以使用array_combine
insidearray_map
通过将键数组与中每个条目的键和值组合来生成新数组$ar
:
$keys = array('phrase', 'fruit');
$ar = ['a'=>'apple', 'b'=>'banana', 'c'=>'pear'];
$new_ar = array_map(function ($v, $k) use ($keys) {
return array_combine($keys, array($k, $v));
}, $ar, array_keys($ar));
print_r($new_ar);
输出:
Array
(
[0] => Array
(
[phrase] => a
[fruit] => apple
)
[1] => Array
(
[phrase] => b
[fruit] => banana
)
[2] => Array
(
[phrase] => c
[fruit] => pear
)
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句