如何将字符串转换为数组

时间:2011-02-19 10:45:39

标签: php arrays explode array-push

我有一个像这样的数组

$arr1 = array(
    '0' => '674534856|213123213|232313123',
    '1' => '349578449|782374879|232313123'
);

我遍历arr1数组,

for ($x=0; $x < $count; $x++) {
    $check = explode("|", $arr1[$x]);
    array_pop($check);

    $count_check = count($check);

    for ($z=0; $z < $count_check; $z++) {
        array_push($result, $check[$z]); 
    }  
}

它没有按预期工作。任何帮助赞赏。感谢。

编辑 $result是结果数组

2 个答案:

答案 0 :(得分:2)

只需implode()输入数组中的所有内容都使用相同的分隔符将其展平为单个字符串,然后使用该分隔符explode()

$result = explode('|', implode('|', $arr1));

答案 1 :(得分:0)

尝试

$result = explode('|', join('|', $arr1));

// outputs
array('674534856', '213123213', '232313123', '349578449', '782374879', '232313123') 

或者

$result = array_map(function($temp) { return explode('|', $temp); }, $arr1);

// outputs
array(
    [0] => array('674534856', '213123213', '232313123'), 
    [1] => array('349578449', '782374879', '232313123') 
)