我有一个拖放JS插件,可以保存字符串,如下所示:
["кровать","бегемот","корм","валик","железосталь"]
我发现我可以在数组中使用str_replace来删除括号和"焦炭。我现在遇到的问题是我有一个无效的参数来传递foreach循环,因为它无法区分每个单词。
$bar = '["кровать","бегемот","корм","валик","железосталь"]';
$new_str = str_replace(str_split('[]"'), '', $bar);
foreach($new_str as $arr){
echo $arr;
}
所以现在输出的数据如下所示(如果我在foreach循环之前回显):
кровать,бегемот,корм,валик,железосталь
无论如何,我可以使用逗号作为分隔符然后通过foreach传递它,每个单词都是它自己的变量?
有更简单的方法吗?任何指导都非常感谢!
答案 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";
?>
,结果是,
кровать
бегемот
корм
валик
железосталь