0

我有一个这样的数组,由具有一对 id 和名称的数组组成:

$myarray
: array = 
  0: array = 
    53: string = Robert  
  1: array = 
    28: string = Carl  
  2: array = 
    32: string = Anna 
  3: array = 
    84: string = Mary  
  4: array = 
    59: string = Daniel   

在我的 php 脚本的某个时刻,我将获得一个 id,并且从这个 id 中我将需要该名称。

我知道使用一维数组很简单,如 $myarray[$id] 但使用上面的数组,我该怎么做?

非常感谢!!

4

3 回答 3

2

如果您知道这两个 ID,则很容易:

$myarray[2][32] == 'Anna'

如果您知道第一个,则可以使用以下技巧:

array_shift(array_values($myarray[2])) == 'Anna'

如果您以后才知道,最好先展平您的数组:

$newarray = array()
foreach($myarray as $element) {
  $newarray += $element;
}
echo $newarray[32]; // Anna
于 2013-07-01T14:19:31.713 回答
1

你应该重新考虑结构。

如果你想在 $id = 32 的情况下检索 'Anna':

$id = 32;
$name = null;
foreach ($myarray as $row) {
    if (isset($row[$id]) {
        $name = $row[$id];
        break;
    }
}
于 2013-07-01T14:23:50.987 回答
0

您可以让脚本将两个不同 ID 的值分别分配给$id1$id2,然后您可以执行以下操作:

<?php 

$id1 = 0; //get your ID #1
$id2 = 53; //get your ID #2
echo $myarray[$id1][$id2]; //outputs Robert

?>

希望这可以帮助。

于 2013-07-01T14:22:48.263 回答