为了账号安全,请及时绑定邮箱和手机立即绑定

通过键和值PHP将一个数组拆分为多个数组

通过键和值PHP将一个数组拆分为多个数组

PHP
牛魔王的故事 2022-12-23 16:15:47
我有一个如下所示的数组:$ar = ['a'=>'apple', 'b'=>'banana', 'c'=>'pear'];我想按键拆分为多个数组并评估我的预期结果$new_ar=[['phrase'=>'a','fruit'=>'apple'],['phrase'=>'b','fruit'=>'banana'],['phrase'=>'c','fruit'=>'pear']];这些的任何解决方案谢谢。
查看完整描述

2 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

如果你制作一个键数组,你可以使用array_combineinsidearray_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

        )

)

3v4l.org 上的演示


查看完整回答
反对 回复 2022-12-23
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

以简单的方式。你可以迭代array使用foreach如下


$new = [];

foreach($ar as $k => $v){

 $new[] = ['phrase' => $k, 'fruit' => $v];

}

print_r($new);

工作示例:- https://3v4l.org/8fpEK


查看完整回答
反对 回复 2022-12-23
  • 2 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信