我有一个数组,我想在其中搜索名称并获取与其关联的数组的键。
假设我们有以下二维数组,其中第二个维度与键相关联:
$leaderboard = array(
029102938093028 => array(
'Rank' => '1st',
'Name' => 'HenryB',
'Kills' => 10,
'Deaths' => 4,
'Headshots' => 5
),
029382912873929 => array(
'Rank' => '2nd',
'Name' => 'Will R',
'Kills' => 6,
'Deaths' => 4,
'Headshots' => 1
),
0283928293898303 => array(
'Rank' => '3rd',
'Name' => 'Robert M',
'Kills' => 3,
'Deaths' => 10,
'Headshots' => 0
),
);
函数调用 search_by_uid("HenryB") (第一个用户的名称)应返回 029102938093028 (数组的键)。
函数调用 search_by_uid("Robert M") 应返回 0283928293898303。
我见过使用多维数组的示例,其中它返回索引,但从不返回关联的索引。如果重复我找不到的问题,请关闭。
$leaderboards = array(
'029102938093028' => array(
'Rank' => '1st',
'Name' => 'HenryB',
'Kills' => 10,
'Deaths' => 4,
'Headshots' => 5
),
'029382912873929' => array(
'Rank' => '2nd',
'Name' => 'Edward B',
'Kills' => 6,
'Deaths' => 4,
'Headshots' => 1
),
'0283928293898303' => array(
'Rank' => '3rd',
'Name' => 'Robert M',
'Kills' => 3,
'Deaths' => 10,
'Headshots' => 0
),
);
function search_by_uid($array, $name) {
foreach ($array as $index => $value) {
if($value["Name"] === $name) {
return $index;
}
}
}
echo search_by_uid($leaderboards, 'Robert M'); //Returns 0283928293898303
使用foreach循环遍历数组中的所有值,直到找到匹配的值,然后返回索引并停止循环。