PHP Foreach 循环的逗号分隔符或展开

PHP Comma Delimiter or Explode for Foreach Loop

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

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

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

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

foreach($new_str as $arr){

    echo $arr;

}

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

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

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

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

您需要的函数是explode()。看看这里: 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;

}

从技术上讲,您可以使用 explode,但您应该认识到您得到的是 JSON,因此您可以简单地这样做:

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

foreach($new_str as $arr){

    echo $arr;

}

没有对括号、逗号或其他任何内容进行奇怪的解析。

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

结果是,

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

您似乎有一个 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;

}