数组结果如下,
如何转换上面的数组如下:
array:3[
0=>"11856"
1=>"12235"
2=>"11843"
因此,如果任何值以逗号分隔,请从该索引数组中删除并添加另一个带有删除值的索引。
我尝试过如下逻辑:
foreach($domains as $row){
$domain = explode(',',$row);
$row = $domain;
}
没有运气,还有更好的方法吗?
希望有道理。提前感谢所有人。
答案 0 :(得分:1)
只需循环浏览source array
并以,
字符展开它。爆炸后返回Array,只需循环此数组,将其添加到return array
function convert_array($data) {
$ret = array();
foreach($data as $d) {
$tmp = explode(',', $d);
foreach($tmp as $t) {
$ret[] = $t;
}
}
return $ret;
}
$data = array("11856,12235,113", "11843");
var_dump(convert_array($data));
,输出
array(3) {
[0] => 11856
[1] => 12235
[2] => 113
[3] => 11843
}
答案 1 :(得分:0)
感谢您的所有答案, 我设法只在一行代码中达到要求,如下所示。
$domain = explode(",",implode(",",$domains));
首先用逗号内爆,然后爆炸结果。完成了魔法。
答案 2 :(得分:0)
根据你的问题,我有一个解决方案。这是一个非常简单易行的解决方案。我用你的代码来解决你的问题。
$domains = array(0=>"11856,12235", 1=>"11843");
foreach($domains as $row){
$domain = explode(',',$row);
foreach($domain as $d){
$a[] = $d;
}
}
echo '<pre>';
print_r($a);
结果:
Array
(
[0] => 11856
[1] => 12235
[2] => 11843
)