[英]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.