Liam-FD Liam-FD - 4 months ago 41
PHP Question

PHP Comma Delimiter or Explode for Foreach Loop

I have a drag and drop JS plugin that saves strings as the following:

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


I have found that I can use str_replace in an array to remove both brackets and " char. The issue that I now have is that I have a invalid argument for passing through the foreach loop as it cannot distinguish each individual word.

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

foreach($new_str as $arr){

echo $arr;

}


So the data now outputted looks as follows (if I were to echo before the foreach loop):

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


Is there anyway in which I can use a comma as a delimeter to then pass this through the foreach, each word being it's own variable?

Is there an easier way to do this? Any guidance greatly appreciated!

Answer

Technically, you can use explode, but you should recognize that you're getting JSON, so you can simply do this:

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

foreach($new_str as $arr){

    echo $arr;

}

With no weird parsing of brackets, commas or anything else.