这是我的示例数组代码..如果用户搜索 523465 那么索引应该返回主数组 userdb..我尝试了几种方法但未能获得正确的输出。有人可以帮助我吗?
<?php
$userdb = Array (
(0) => Array (
(uid) => Array (
(0) => Array (
'10770'
),
(1) => Array (
'523465'
),
(2) => Array (
'4042389'
)
),
(name) => 'Sandra Shush',
(url) => 'urlof100'
),
(1) => Array (
(uid) => Array (
(0) => Array (
'102320'
),
(1) => Array (
'532465'
),
(2) => Array (
'40432389'
)
),
(name) => 'Stefanie Mcmohn',
(pic_square) => 'urlof100'
));
echo '<pre>';
print_r(array_column ( $userdb, 'uid' ));
$key = array_search ( 5432365, array_column ( $userdb, 'uid' ) );
echo ("The key is: " . $key);
最佳答案
需要几个 foreach 循环。这是我为您编写的功能。第一个参数是您的数组,第二个参数是您要搜索的值。
function searchArrayKey($userdb,$given_value){
foreach ($userdb as $firstkey => $val) {
foreach ($val as $secondkey => $nestedarray){
foreach ($nestedarray as $thirdkey => $thirdnestedarray){
if ($thirdnestedarray['0'] == $given_value){
return $firstkey;
}
}
}
}
然后用来获取主数组的key
print_r (searchArrayKey($userdb, 523465));
关于php - 使用 php 进行数组搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38994773/