从JSON数组获取特定数据。 [PHP]

时间:2016-07-22 04:55:59

标签: php json

我有一个从外部API中提取数据的脚本。输出示例如下。

[{"id": "579144bbfbd8f54f53f5394b", "username": "test1", "type": "1", "email": "new_user@email.com", "status": on},{"id": "afadfatqwertqr", "username": "test2", "type": "1", "email": "new_user2@email.com", "status": on}]

我试图仅从字符串中提取id以将其设置为变量。它必须是用户名特定的,但任何支持将不胜感激。我提前谢谢了!#/ p>

1 个答案:

答案 0 :(得分:1)

$usernameToFind = 'something';  

然后你需要调用你的api get JSONResponse;

$arr = json_decode($yourJSON, true);

然后您的$arr将包含所有数据作为对象数组。你可以访问如下:

$username = array();

$len = count($arr);
for($i = 0; $i < $len; $i++){
    $id = $arr[$i]["id"];
    $uname = $arr[$i]["username"];
    $username[$uname] = $id;
}

在此循环之后,您可以根据该数组中存在usernameToFind的用户名获取您要查找的任何ID。要检查您是否可以使用:

if(isset($username[$usernameToFind])){
    $idToFind = $username[$usernameToFind];
}else{
    echo "this user doesn't exist";
}