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

我有一个多维数组,其中我想将类别的类别信息分组到一个数组中,而将其他数组数据分组到相应的数组中。


我试图通过一些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。


芜湖不芜
浏览 144回答 2
2回答

郎朗坤

以下是有关我如何解决问题的代码。$ 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(&nbsp; &nbsp; 'pid' =>&nbsp; $p_id[0],&nbsp; &nbsp; 'product_title' => $p_name[0],&nbsp; &nbsp; 'product_name' => $p_name[0],&nbsp; &nbsp; 'product_desc' => $c[13],&nbsp; &nbsp; 'post_status'&nbsp; => 'publish',&nbsp; &nbsp; 'post_author'&nbsp; => 1,&nbsp; &nbsp; 'product_type' => 'simple',&nbsp; &nbsp; 'price' => $c[1],&nbsp; &nbsp; 'sku' => $c[4],&nbsp; &nbsp; 'image' => $c[9]);}我创建一个数组,并使用array_column函数获取要创建最终数组以执行组数组的值。

富国沪深

如我错了请纠正我 。您要创建一个按类别分组的多维数组。如果是这种情况,请尝试以下代码:$newArray = [];foreach ($arrs as $key => $value) {&nbsp; &nbsp;$newArray[$value['category_name']][] = $value;}
打开App,查看更多内容
随时随地看视频慕课网APP