Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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如何解析Json_Php_Json - Fatal编程技术网

Php如何解析Json

Php如何解析Json,php,json,Php,Json,我是PHP新手,请任何人帮我用PHP解析JSON 这是我的数据。我想获取“transaction\u details”数组下的状态 Array ( [status] => 1 [msg] => 1 out of 1 Transactions Fetched Successfully [transaction_details] => Array ( [3685189ee69337520311] => Array (

我是PHP新手,请任何人帮我用PHP解析JSON

这是我的数据。我想获取“transaction\u details”数组下的状态

Array (
    [status] => 1
    [msg] => 1 out of 1 Transactions Fetched Successfully
    [transaction_details] => Array (
        [3685189ee69337520311]   => Array (
            [mihpayid]           => 403993715516628289
            [request_id]         => 
            [bank_ref_num]       => 3808401291372621
            [amt]                => 51000.00
            [transaction_amount] => 51000.00
            [txnid]              => 3685189ee69337520311
            [additional_charges] => 0.00
            [productinfo]        => OasisEstate
            [firstname]          => Test
            [bankcode]           => CC
            [udf1]               => 
            [udf3]               => 
            [udf4]               => 
            [udf5]               => 
            [field9]             => SUCCESS
            [error_code]         => E000
            [card_type]          => VISA
            [error_Message]      => NO ERROR
            [net_amount_debit]   => 51000
            [disc]               => 0.00
            [mode]               => CC
            [PG_TYPE]            => HDFCPG
            [card_no]            => 401200XXXXXX1112
            [name_on_card]       => Neeraj
            [udf2]               => 
            [addedon]            => 2017-09-19 13:23:58
            [status]             => success
            [unmappedstatus]     => captured
            [Merchant_UTR]       => 
            [Settled_At]         => 0000-00-00 00:00:00
        )
    )
)

提前感谢您。

当您已经有了一个数组时,您不需要json

只需使用
$array['transaction\u details']

尝试以下操作:

echo$array['transaction_details'][3685189ee69337520311]['status']


我想您的转储来自var$json:

<?php
foreach($json['transaction_details'] as $key => $details) {
   echo 'status for ' . $key .': ' . $details['status'];

}
?>

我使用foreach来克服不知道数组键的问题。正如我所想,每个接收到的json消息的密钥都会不同,

array\u pop()可能会有所帮助


您需要将此数组传递给json还是从中获取值?您可以使用任何循环从数组获取详细信息。请澄清,这不是json,也不是php的var_导出(无逗号)欢迎使用堆栈溢出。请复习。您已经尝试过什么来发现问题?问题应显示研究证据和自己解决问题的尝试、特定编码相关问题的清晰轮廓,以及a中的任何相关代码。$array['status']是字符串,而不是数组。事实上,$array['transaction_details']['status']未定义。这不提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。-社区将您的答案标记为低质量(注意,添加了“来自审查”)。您在“array_pop()可能会有帮助”中声明,因此这是一个建议,而不是完整的答案。如果您有理由相信这会起作用,请编辑您的答案,解释为什么不鼓励只使用代码的答案,因为它们没有解释如何解决问题。请复习你让我发笑,哈哈哈,请复习。
$item = array_pop($array['transaction_details']); 
echo $item['status'];