Php Str_更换未完全更换

Php Str_更换未完全更换,php,arrays,Php,Arrays,我有以下代码: <?php $str ='[ "spiderman", "xmen", "barbie", "avengers" ]'; $array= str_replace("[", "",$str); $array= str_replace("]", "",$str); $array =explode(',',$array); print_r($array); 而是它的输出 Array ( [0] => [ "spiderman" [1] =>

我有以下代码:

<?php
$str ='[ "spiderman", "xmen", "barbie", "avengers" ]';

$array= str_replace("[", "",$str);
$array= str_replace("]", "",$str);

$array =explode(',',$array);


print_r($array);
而是它的输出

Array
(
    [0] => [ "spiderman"
    [1] =>  "xmen"
    [2] =>  "barbie"
    [3] =>  "avengers" 
)
为什么它没有完全替换
[
的所有实例? 我怎样才能做好呢?
这是一种
json
格式。不要使用
str\u replace
explode
对其进行解码。您可以使用
json\u decode
进行解析

$str ='[ "spiderman", "xmen", "barbie", "avengers" ]';
$arr = json_decode($str);

echo "<pre>";
print_r( $arr );
echo "</pre>";

您的字符串是json,但代码的正确形式是:

Array (
    [0] =>  "spiderman"
    [1] =>  "xmen"
    [2] =>  "barbie"
    [3] =>  "avengers"

)

这看起来与Javascript无关-请适当标记您的问题
Array
(
    [0] => spiderman
    [1] => xmen
    [2] => barbie
    [3] => avengers
)
<?php

$str ='[ "spiderman", "xmen", "barbie", "avengers" ]';

$array= str_replace("[", "",$str);
$array= str_replace("]", "",$array);

$array =explode(',',$array);


print_r($array);
Array (
    [0] =>  "spiderman"
    [1] =>  "xmen"
    [2] =>  "barbie"
    [3] =>  "avengers"

)