使用 php 检查一个键在多维数组中是否有值
Check if a key has a value in a multidimensional array with php
我将 SQL 请求的结果放入一个数组中,得到类似 :
的结果
Array (
[0] => Array ( [id] => 253 [mother_id] => 329 )
[1] => Array ( [id] => 329 [mother_id] => 210 )
[2] => Array ( [id] => 293 [mother_id] => 329 )
[3] => Array ( [id] => 420 [mother_id] => 293 )
)
我想在 ID 为 329 的人的个人资料页面中显示她 children 的列表,因此此处 ID 为 253 和 293。我的数组中还有更多值,例如人。我怎样才能得到每个将“329”作为“mother_id”的人的 ID、姓名等?
我觉得跟array_key_exists()有关系,但是我自己找了很多都没找到。请帮助:)
编辑
我的代码如下所示:
$request = $database->prepare("SELECT * FROM users");
$request->execute();
$result = $request->fetchAll();
print_r($result); // The code above
$usersWithMother = array_filter(
$result,
function (array $user) {
return $user['mother_id'] === 329;
}
);
print_r($userWithMother); // Array ()
array_filter
是你的朋友:
$usersWithMother = array_filter(
$users,
function (array $user) {
return (int)$user['mother_id'] === 329;
}
);
我将 SQL 请求的结果放入一个数组中,得到类似 :
的结果Array (
[0] => Array ( [id] => 253 [mother_id] => 329 )
[1] => Array ( [id] => 329 [mother_id] => 210 )
[2] => Array ( [id] => 293 [mother_id] => 329 )
[3] => Array ( [id] => 420 [mother_id] => 293 )
)
我想在 ID 为 329 的人的个人资料页面中显示她 children 的列表,因此此处 ID 为 253 和 293。我的数组中还有更多值,例如人。我怎样才能得到每个将“329”作为“mother_id”的人的 ID、姓名等?
我觉得跟array_key_exists()有关系,但是我自己找了很多都没找到。请帮助:)
编辑
我的代码如下所示:
$request = $database->prepare("SELECT * FROM users");
$request->execute();
$result = $request->fetchAll();
print_r($result); // The code above
$usersWithMother = array_filter(
$result,
function (array $user) {
return $user['mother_id'] === 329;
}
);
print_r($userWithMother); // Array ()
array_filter
是你的朋友:
$usersWithMother = array_filter(
$users,
function (array $user) {
return (int)$user['mother_id'] === 329;
}
);