PHP:如何在数组中使用PHP解码给定的字符串


PHP: How do I decode the given String using PHP in Array

响应字符串:

jQuery21408111137825120874_1451285646793({"result":"error","msg":"0 - This email address looks fake or invalid. Please enter a real email address."})

此响应由API提供。我正在使用PHP。我不确定给定的响应是否是JSON,但我已经厌倦了JSON_decode,但没有成功。请帮助我如何以数组格式对其进行解码。

您也可以使用$encodeArr=json_decode($yourString,true);

结果会得到一个数组。。

或者你可以使用$encodeArr=json_decode($yourString);$msg=$encodeArr->msg;这也适用于

试试这个:

$string = 'jQuery21408111137825120874_1451285646793({"result":"error","msg":"0 - This email address looks fake or invalid. Please enter a real email address."})';
preg_match('#'(({.*?})')#', $string, $match); // this will return the value inside the {}
$yourString = $match[1];
$encodeArr = json_decode($yourString);
echo "<pre>";
print_r($encodeArr);

结果是(以对象格式):

stdClass Object
(
    [result] => error
    [msg] => 0 - This email address looks fake or invalid. Please enter a real email address.
)

如果您想将此对象转换为array,请在打印前使用此:

$requiredArr = (array) $encodeArr;
print_r($encodeArr);

结果是:

Array
(
    [result] => error
    [msg] => 0 - This email address looks fake or invalid. Please enter a real email address.
)

json_decode PHP函数的第二个参数是将json转换为数组PHP。如果它是一个有效的json,你可以有一个数组PHP对象,否则你的json将无效。

查看:json_decode PHP函数