我有一个json字符串:
$testArray =
{
"Test1": {
"id": "26",
"admin": "Admin TestClient"
},
"Test2": {
"id": "27",
"admin": "Admin TestClient"
},
"Test3": {
"id": "28",
"admin": "Admin TestClient"
}
}
具有id值的变量,例如
$idSearch = 28;
现在我需要得到它的密钥:“Test3”
我试过了:
$NameKey = array_search($idSearch , $testArray->id);
但是这会给出null
答案 0 :(得分:3)
为此,最好使用一个简单的循环:
function getById($id) {
foreach ($testArray as $key => $value) {
if ($value['id'] == $id) {
return $key;
}
}
return '';
}
$key = getById(28);
var_dump($key);
答案 1 :(得分:0)
array_reduce($testArray, function ($result, $item) use ($idSearch) {
return $result ?: ($item['id'] === $idSearch ? $item : null);
});