简体   繁体   English

如何从此 PHP 数组中获取单个值

[英]How to get single value from this PHP array

Example例子

print_r($a) 

Array ( [Status] => 100 [RefID] => 12345678 [ExtraDetail] => {"Transaction":{"CardPanHash":"0866A6EAEA5CB08B3AE61837EFE7","CardPanMask":"999999******9999"}} ) 

i need to take CardPanMask value我需要取CardPanMask

An example: I wrote this code but it didn't work一个例子:我写了这段代码,但没有用

$cardnumber=$a[ExtraDetail]->Transaction->CardPanMask; 

the $cardnumber must be 999999******9999 but when i echo $cardnumber; $cardnumber 必须是 999999******9999 但是当我echo $cardnumber; but its empty return noting但它的空回注

Your ExtraDetail key is actually a JSON object, which you can't parse with PHP easily without decoding it.您的ExtraDetail键实际上是一个 JSON 对象,如果不对其进行解码,就无法使用 PHP 轻松解析它。

Your $cardnumber variable should be declared as:您的$cardnumber变量应声明为:

$cardnumber = json_decode($a['ExtraDetail'])->Transaction->CardPanMask;

Or:或者:

$cardnumber = json_decode($a['ExtraDetail'], true)['Transaction']['CardPanMask'];

If you plan on needing multiple values from the $a['ExtraDetail'] key, you may consider decoding the entire value into it's own value first.如果您计划需要$a['ExtraDetail']键中的多个值,您可以考虑首先将整个值解码为它自己的值。

//you can use `true` as the second parameter of `json_decode()` if you want it to decode as an array instead of an object.
$transaction = json_decode($a['ExtraDetail'])->Transaction;
$cardnumber = $transaction->CardPanMask;

try this:尝试这个:

$a = [
    'Status' => 100,
    'RefID' => 12345678,
    'ExtraDetail' => json_decode ('{"Transaction":{"CardPanHash":"0866A6EAEA5CB08B3AE61837EFE7","CardPanMask":"999999******9999"}}')
];

print_r($a['ExtraDetail']->Transaction->CardPanMask);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM