Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP将字符串转换为数组_Php_Arrays_Json - Fatal编程技术网

PHP将字符串转换为数组

PHP将字符串转换为数组,php,arrays,json,Php,Arrays,Json,我希望将以下字符串转换为PHP数组: { 'Codes': ['01239EEF', '01240EDF'], 'Done' : ['1', '0'] } 我正在尝试将其转换为如下所示的数组: {[Codes] => {[0] => '01239EEF', [1] => '01240EDF'}, [Done] => {[0] => '1', [1] => '0'}} 我尝试使用json\u decode,将数组参数显式设置为true。但由于某些原因,它总是

我希望将以下字符串转换为PHP数组:

{ 'Codes': ['01239EEF', '01240EDF'], 'Done' : ['1', '0'] }
我正在尝试将其转换为如下所示的数组:

{[Codes] => {[0] => '01239EEF', [1] => '01240EDF'}, [Done] => {[0] => '1', [1] => '0'}}

我尝试使用
json\u decode
,将数组参数显式设置为
true
。但由于某些原因,它总是返回
NULL

问题在于json使用
而不是

 { 'Codes': ['01239EEF', '01240EDF'], 'Done' : ['1', '0'] }
一定是

 { "Codes": ["01239EEF", "01240EDF"], "Done" : ["1", "0"] }
使用
json\u解码输出

 stdClass Object
(
   [Codes] => Array
    (
        [0] => 01239EEF
        [1] => 01240EDF
    )

    [Done] => Array
    (
        [0] => 1
        [1] => 0
    )

)

您可以使用
str\u replace(',“,$string)
,然后使用
json\u encode

名称和值必须用双引号括起来

 stdClass Object
(
   [Codes] => Array
    (
        [0] => 01239EEF
        [1] => 01240EDF
    )

    [Done] => Array
    (
        [0] => 1
        [1] => 0
    )

)
单引号在
json\u decode
函数中无效

请像这样改变你的字符串

$js_str = '{ "Codes": ["01239EEF", "01240EDF"], "Done" : ["1", "0"] }';
您的输出将如下所示

object(stdClass)#1 (2) {
   ["Codes"]=>
  array(2) {
    [0]=>
    string(8) "01239EEF"
    [1]=>
    string(8) "01240EDF"
  }
  ["Done"]=>
  array(2) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "0"
  }
}

使用
str_replace()
$str=“{'code':['01239EEF','01240EDF'],'Done':['1','0']}”$array=json_decode(str_replace(“,”,$str),true);print_r($array);
@mohammadmohsenipur:谢谢,就是这样。如果您自己创建json,那么您的json就是wrong@dreamCoder:谢谢,就这样。