这是我的代码与示例数组..如果用户搜索523465然后索引应该返回主数组userdb..ihave尝试了几种方式但未能得到正确的输出.有人帮我吗?
<?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;
}
}
}
}
}
然后用来获取主数组的键
print_r (searchArrayKey($userdb, 523465));