【发布时间】:2014-04-14 00:45:11
【问题描述】:
我在 foreach 循环中工作,我的代码部分如下所示:
foreach ($query->rows as $row) {
$myarray = explode(",",$row['text']);
print_r($myarray);
}
上面的输出结果是这样的:
Array
(
[0] = Charcoal
[1] = Natural Gas
[2] = Combo
)
Array
(
[0] = Charcoal
[1] = Propane
[2] = Combo
)
Array
(
[0] = Charcoal
[1] = Propane
[2] = Natural Gas
[3] = Combo
)
Array
(
[0] = coal
)
Array
(
[0] = Natural Gas
[1] = Wood
)
是的,我看到有类似的问题。但他们的答案似乎都不适合我。我想这可能是因为我在 foreach 循环中工作。不管怎样,我想知道是否有办法让上面的输出看起来像这样:
Array
(
[0] = Charcoal
[1] = Natural Gas
[2] = Combo
)
Array
(
[0] = Propane
)
Array
(
[0] = Coal
)
Array
(
[0] = wood
)
所有重复项都消失了,而不会丢失此数组的格式。我尝试过的代码..但“也许”错误的是:
$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
为Sharanya Dutta 编辑:
我还有很多其他代码,但基本上这是我尝试使用它的地方。
$arr = array();
foreach($query->rows as $row){
$_arr = explode(",", $row["text"]);
$diff = array_values(array_diff($_arr, $arr));
if($diff !== array()) print_r($diff);
$arr = array_merge($arr, $_arr);
$output[$row['attribute_id']]['values'][] = $diff; // <--- USE IT HERE
}
【问题讨论】:
标签: php arrays multidimensional-array foreach