Php 无法计算字符串数组
如何将其更改为JSON数组?我正在使用评估技术,但这不起作用。我从我们的upx服务器得到这样的响应:Php 无法计算字符串数组,php,eval,Php,Eval,如何将其更改为JSON数组?我正在使用评估技术,但这不起作用。我从我们的upx服务器得到这样的响应: array( 'invoice' => array( 'id' => '4', 'realid' => '4', 'address_rev' => NULL, 'relation_data_id' => '3', 'contact_set_rev' => '3',
array(
'invoice' => array(
'id' => '4',
'realid' => '4',
'address_rev' => NULL,
'relation_data_id' => '3',
'contact_set_rev' => '3',
'business_data_rev' => '4',
'private_data_rev' => NULL,
// etc..
)
);
var_dump($newdata); // String
eval("\$newdata = \"$newdata\";");
var_dump($newdata); // Still stays as a string as shown above....
有线索吗
已经有了
var_dump($newdata); // String
eval("\$newdata = $newdata;");
var_dump($newdata); // Still stays as a string as shown above....
// eval("\$newdata = \"$newdata\";");
// ^ ^
删除双引号。你只是把它放回一个字符串
尽管如我上面所说,如果您想要传输一个PHP数组,您应该使用
删除双引号。你只是把它放回一个字符串
尽管如我上面所说,如果你想传输一个PHP数组,你应该使用当我告诉你这一点时,你会非常糟糕。。
但是它仍然是一个字符串的原因是,在调用eval
时,您将它包装在“
中,当然,将字母包装在引号中会使它成为一个字符串。。(鼓声)一根绳子
eval ('$newdata = ' . $newdata . ';'); // this will do what you want
如果要立即将其转换为json,请使用以下命令:
eval ('$newdata = json_encode (' . $newdata . ');');
eval
时,您将它包装在“
中,当然,将字母包装在引号中会使它成为一个字符串。。(鼓声)一根绳子
eval ('$newdata = ' . $newdata . ';'); // this will do what you want
如果要立即将其转换为json,请使用以下命令:
eval ('$newdata = json_encode (' . $newdata . ');');
json\u encode
。你可以试试
$json_array = json_encode($your_array);
这将为您提供json编码的数组。然后您可以在$json_数组上进行json_解码,以恢复原始内容
检查您的php是否有JSON扩展您可以尝试php的
JSON\u encode
。你可以试试
$json_array = json_encode($your_array);
这将为您提供json编码的数组。然后您可以在$json_数组上进行json_解码,以恢复原始内容
检查您的php是否有JSON扩展究竟是什么输出的?如果你想传输一个文本PHP数组,它…到底是什么输出的呢?如果你想传输一个文本PHP数组,它…天哪,拍我一下:(,我怎么能看不出来:O可能是因为我现在连续工作了13个小时!但是,答案是Y!对于从谷歌来到这里的人:这样做的另一个可能的错误来源是忽略了在求值字符串的末尾添加分号。创建一个临时变量并传递给求值(至少在开发过程中)允许您仔细检查字符串的语法正确性。天哪,拍我一下:(,我怎么能看不出来:O可能是因为我现在连续工作了13个小时!但是,答案是Y!对于从谷歌来到这里的人:这样做的另一个可能的错误来源是忽略了在求值字符串的末尾添加分号。创建一个临时变量并传递给求值(至少在开发过程中)允许您仔细检查字符串的语法正确性。