[英]How to get the value of a key based on the known value of a sibling key from a PHP associative array?
考虑以下数组:
$bookmarksIDs = [
[
"id"=> 33767,
"dateAdded"=> 1551944452042
],
[
"id"=> 33743,
"dateAdded"=> 1551944540159
]
]
如果我知道id
的值,如何获取其同级dateAdded
键的值?
您可以执行以下操作:
foreach ($bookmarksIDs as $bookmarksID) {
if($bookmarksID["id"] == "33767"){
//do something
}
}
如果要获取同级的值,则需要遍历数组以找到它,就像@MRustamzade回答的那样。
foreach ($bookmarksIDs as $bookmarksID) {
if($bookmarksID["id"] == "33767"){
//do something
}
}
但是,如果您要寻求更好的性能,则可以更改要通过id值索引的数组的结构,即:
$bookmarksIDs = [
"id_33767"=>[
"dateAdded"=> 1551944452042
],
"id_33743"=>[
"dateAdded"=> 1551944540159
]
]
因此您可以通过以下方式直接访问它:
$bookmarksIDs["id_".$id/*33743*/]["dateAdded"];
在这种情况下,请确保id的值是唯一的,以不覆盖旧值
或者如果您想保留数组结构,可以使用
array_column($bookmarksIDs ,'dateAdded','id')
得到像这样的数组:
$bookmarksIDs = [
"33767"=>1551944452042
,
"33743"=> 1551944540159
]
并将dateAdded直接添加到书签ID [“ 33767”]。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.