用于Foreach循环的PHP逗号分隔符或爆炸

时间:2016-07-29 15:29:20

标签: php arrays foreach delimiter explode

我有一个拖放JS插件,可以保存字符串,如下所示:

["кровать","бегемот","корм","валик","железосталь"]

我发现我可以在数组中使用str_replace来删除括号和"焦炭。我现在遇到的问题是我有一个无效的参数来传递foreach循环,因为它无法区分每个单词。

$bar = '["кровать","бегемот","корм","валик","железосталь"]';
$new_str = str_replace(str_split('[]"'), '', $bar);

foreach($new_str as $arr){

    echo $arr;

}

所以现在输出的数据如下所示(如果我在foreach循环之前回显):

кровать,бегемот,корм,валик,железосталь

无论如何,我可以使用逗号作为分隔符然后通过foreach传递它,每个单词都是它自己的变量?

有更简单的方法吗?任何指导都非常感谢!

4 个答案:

答案 0 :(得分:2)

你需要的功能是爆炸()。看看这里: http://www.w3schools.com/php/func_string_explode.asp

请查看以下代码:

$bar = '["кровать","бегемот","корм","валик","железосталь"]';
$new_str = str_replace(str_split('[]"'), '', $bar);
$exploding = explode(",", $new_str);

foreach($exploding as $token){

    echo $token;

}

答案 1 :(得分:2)

从技术上讲,您可以使用explode,但您应该认识到您正在获取JSON,因此您只需执行此操作:

$bar = '["кровать","бегемот","корм","валик","железосталь"]';
$new_str = json_decode($bar);

foreach($new_str as $arr){

    echo $arr;

}

没有奇怪的括号,逗号或其他任何内容的解析。

答案 2 :(得分:2)

看起来你有一个JSON字符串并希望将其转换为数组。有几种方法可以做到这一点。你可以使用explode 像这样:

$bar = '["кровать","бегемот","корм","валик","железосталь"]';
$new_str = str_replace(str_split('[]"'), '', $bar);
$new_str_array = explode($new_str);

foreach($new_str_array as $arr){

    echo $arr;

}

或者您可以使用json_decode 像这样:

$bar = '["кровать","бегемот","корм","валик","железосталь"]';
$new_str_array = json_decode($bar);

foreach($new_str_array as $arr){

    echo $arr;

}

答案 3 :(得分:1)

<?php
    $aa = '["кровать","бегемот","корм","валик","железосталь"]';
    $bb = json_decode($aa);
    foreach($bb as $b)
     echo $b."\n";
?>

,结果是,

кровать
бегемот
корм
валик
железосталь