Php 使用循环从Json获取某些元素
我有一个包含方法的类。该方法查询数据库表中的所有内容,并以json格式返回结果 然后我这样调用该方法:Php 使用循环从Json获取某些元素,php,json,wordpress,Php,Json,Wordpress,我有一个包含方法的类。该方法查询数据库表中的所有内容,并以json格式返回结果 然后我这样调用该方法: $consultants = new Consultants(); $consultants->getUsersJson(); 这将返回类似于: [{“con_id”:“1”,“con_名字”:“Paul”,“con_姓氏”:“Bloggs”,“con_用户名”:”paul@email.com,“con_密码”:“密码”,“con_职务类别id”:“0”,“con_更新地址”:“201
$consultants = new Consultants();
$consultants->getUsersJson();
这将返回类似于:
[{“con_id”:“1”,“con_名字”:“Paul”,“con_姓氏”:“Bloggs”,“con_用户名”:”paul@email.com,“con_密码”:“密码”,“con_职务类别id”:“0”,“con_更新地址”:“2015-07-08 00:00:00”,“con_创建地址”:“2015-07-08 00:00:00”},{“con_id”:“2”,“con_姓氏”:“Allan”,“con_姓氏”:“Bloggs”,“con_用户名”:paul@email.com“,”密码“:”密码“,“con_职务类别id:“0”,“con_更新地址”:“2015-07-08 00:00:00”,“con_创建地址”:“2015-07-08 00:00:00”},{“con_id:“3”,“con_姓氏”:“Ryan”,“con_姓氏”:“Bloggs”,“con_用户名”:”ryan@email.com,“con_密码”:“密码”,“con_职务类别id”:“0”,“con_更新地址”:“2015-07-08 00:00:00”,“con_创建地址”:“2015-07-08 00:00:00”}]
我现在需要某种循环来完成这个过程,因为我只需要con_firstname
、con_lastname
和con_username
。它还需要类似于以下内容:
{"data"[{"con_firstname":"Ryan","con_lastname":"Bloggs","con_username":"ryan@email.com"}]}
(因此,它全部包装在“数据”中。此外,这只是一个,循环应显示所有数据。)尝试一下,它可能会失败:
$consultants = new Consultants();
$users = $consultants->getUsersJson();
json_decode($users);
$users = object_to_array($users);
$data = array(
'data'=>array()
);
foreach ($users as $user){
$data['data']['con_firstname'] = $user['con_firstname']
}
function object_to_array($data)
{
if (is_object($data)) {
$data = get_object_vars($data);
}
if (is_array($data)) {
return array_map(__FUNCTION__, $data);
}
else {
return $data;
}
}
json_encode($data);
尝试一下,它可能会失败:
$consultants = new Consultants();
$users = $consultants->getUsersJson();
json_decode($users);
$users = object_to_array($users);
$data = array(
'data'=>array()
);
foreach ($users as $user){
$data['data']['con_firstname'] = $user['con_firstname']
}
function object_to_array($data)
{
if (is_object($data)) {
$data = get_object_vars($data);
}
if (is_array($data)) {
return array_map(__FUNCTION__, $data);
}
else {
return $data;
}
}
json_encode($data);
< P> >为了补偿KISARAGI的答案,你可以使用“JSONY-DECODE($USER,TRUE)”来直接获得一个数组
,只是为了补偿KiasaGi的答案,你可以使用“JSONY-DECODE($USER,TRUE)”来直接获得一个数组
考虑将此作为注释添加。