我有以下格式的客户详细信息
我如何从输出中获取客户 ID 为“5”。
json_decode(array)
结果:
stdClass Object (
[5] => stdClass Object (
[email] => siddareddy.vishnuvardhanreddy@gmail.com
[firstname] => vishnu
[lastname] => siddareddy
)
)
我有以下格式的客户详细信息
我如何从输出中获取客户 ID 为“5”。
json_decode(array)
结果:
stdClass Object (
[5] => stdClass Object (
[email] => siddareddy.vishnuvardhanreddy@gmail.com
[firstname] => vishnu
[lastname] => siddareddy
)
)
您可以将其转换为数组,然后获取第一个键:
$key = key( (array) $result_object );
$array = json_decode($json, true);
foreach ($array as $key => $value)
{
echo $key; //or use $value array to get the rest of its info
}
请注意,您的第一行不能产生第二行作为输出。第一行应该返回一个数组,而第二个代码块是一个对象。
您可以遍历 Array/Object 的所有键和值并以这种方式获得“5”:
foreach( $decodedjson as $key => $val ) {
#Key is: 5
echo "Key is: {$key}";
#Val['firstname'] is: vishnu
echo "Val['firstname'] is: {$val['firstname']}";
}
如果您想将数组从 id 反转为该数组,请发送电子邮件至 id:
$result = json_decode($array, true);
// Change email to something else if you want another key
$inversecopy = array_flip(array_map(function($val) { return $val['email']; }, $result));
您可以像这样访问数字属性
<?php
$data = array(
"5" => array(
'email' => 'siddareddy.vishnuvardhanreddy@gmail.com',
'firstname' => 'vishnu',
'lastname' => 'siddareddy'
)
);
$json = json_encode($data);
$obj = json_decode($json);
var_dump($obj->{5}->email);
$obj->{5}->email
,这就是诀窍。