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

スクリプトで 2 つの異なる 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 に答える