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

需要有关多维数组格式设置的帮助

需要有关多维数组格式设置的帮助

PHP
芜湖不芜 2021-04-30 13:12:57
我有一个多维数组,其中我想将类别的类别信息分组到一个数组中,而将其他数组数据分组到相应的数组中。我试图通过一些sql查询从数据库中获取数据,然后将整个数据合并到单个数组中。$out = array();foreach ($arr as $key => $value){//$out[] = (object)array_merge((array)$ar[$key], (array)$value);$out[] = array_merge((array)$ar[$key], (array)$value);}$tmp = array();foreach($out as $arg){foreach($arg as $arg2 ){   $tmp[$arg2['product_id']][] = @$arg2['category_id'];}}echo "<pre>";print_r($tmp);我想将与特定产品相关的所有类别归为一个信号数组,例如类别ID,类别名称,类别描述等,并将产品数据归为其他各个数组。我想格式化此数组,以便我可以生成此数据的CSV文件,以便导入到woocommerce。
查看完整描述

2 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

以下是有关我如何解决问题的代码。


$ final_arr = [];


foreach($ out as $ v){$ cat_name = array_column($ v,'category_name');


$p_info = array_column($v,'product_attr_value');


$attrb_id = array_column($v,'attribute_id');


$p_id = array_column($v,'product_id');


$p_name = array_column($v,'product_name');


$c = array_combine($attrb_id, $p_info);


$final_arr[] = array(

    'pid' =>  $p_id[0],

    'product_title' => $p_name[0],

    'product_name' => $p_name[0],

    'product_desc' => $c[13],

    'post_status'  => 'publish',

    'post_author'  => 1,

    'product_type' => 'simple',

    'price' => $c[1],

    'sku' => $c[4],

    'image' => $c[9]

);

}

我创建一个数组,并使用array_column函数获取要创建最终数组以执行组数组的值。


查看完整回答
反对 回复 2021-05-14
?
富国沪深

TA贡献1790条经验 获得超9个赞

如我错了请纠正我 。您要创建一个按类别分组的多维数组。如果是这种情况,请尝试以下代码:


$newArray = [];

foreach ($arrs as $key => $value) {


   $newArray[$value['category_name']][] = $value;

}


查看完整回答
反对 回复 2021-05-14
  • 2 回答
  • 0 关注
  • 143 浏览

添加回答

举报

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