我有以下格式的客户详细信息
如何从输出中获取客户ID为“5”。
json_decode(array)
结果:
stdClass Object (
[5] => stdClass Object (
[email] => siddareddy.vishnuvardhanreddy@gmail.com
[firstname] => vishnu
[lastname] => siddareddy
)
)
答案 0 :(得分:0)
您可以将其转换为数组,然后获取第一个key:
$key = key( (array) $result_object );
答案 1 :(得分:0)
$array = json_decode($json, true);
foreach ($array as $key => $value)
{
echo $key; //or use $value array to get the rest of its info
}
答案 2 :(得分:0)
请注意,您的第一行不能将第二行作为输出。第一行应该返回一个数组,而第二个代码块是一个对象。
您可以循环遍历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']}";
}
答案 3 :(得分:0)
如果要将数组从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));
答案 4 :(得分:0)
您可以像这样访问数字属性
<?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
,这就是诀窍。