检查内部数组是否由comman指定的值

时间:2016-08-13 18:26:10

标签: php arrays replace comma

数组结果如下,

enter image description here

如何转换上面的数组如下:

array:3[
   0=>"11856"
   1=>"12235"
   2=>"11843"

因此,如果任何值以逗号分隔,请从该索引数组中删除并添加另一个带有删除值的索引。

我尝试过如下逻辑:

foreach($domains as $row){       

    $domain = explode(',',$row);
    $row = $domain;  

    }

没有运气,还有更好的方法吗?

希望有道理。提前感谢所有人。

3 个答案:

答案 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
)