簡體   English   中英

從多維數組獲取“唯一標識”的信息

[英]Get information for an “unique id” from a multidimensional array

我有一個具有這種結構的數組:

Array
(
    [mysite] => Array
        (
            [0] => Array
                (
                    [0] => uniqueid
                    [1] => brand
                    [2] => horsepower
                    [3] => topspeed
                )

            [1] => Array
                (
                    [0] => uniqueid
                    [1] => brand
                    [2] => horsepower
                    [3] => topspeed
                )

            [2] => Array
                (
                    [0] => uniqueid
                    [1] => brand
                    [2] => horsepower
                    [3] => topspeed
                )
        )
)

每輛汽車都有一個“獨特”字樣,其后是品牌,馬力等。

如果我想獲取隨機車的信息,可以這樣進行:

$rkey = array_rand($sites['mysite'], 1); // get a random key
$car_info = $myarray['mysite'][$rkey];

您是否對使用特定的“唯一”信息獲取信息有任何想法

$car_info = "get the information of a car with a certain uniqueid";

嘗試,

在for循環內傳遞唯一ID,您會得到理想的結果,它可能會幫助您,

$array = array(

  0   => Array
            (
                0 => 'uniqueid0',
                1 => 'brand',
                2 => 'horsepower',
                3 => 'topspeed',
            ),
  1   => Array
            (
                0 => 'uniqueid1',
                1 => 'brand',
                2 => 'horsepower',
                3 => 'topspeed',
            ),
  2  => Array
            (
                0 => 'uniqueid2',
                1 => 'brand',
                2 => 'horsepower',
                3 => 'topspeed',
            ),
  3  => Array
            (
                0 => 'uniqueid3',
                1 => 'brand',
                2 => 'horsepower',
                3 => 'topspeed',
            ),
);


  foreach($array as $arr){
    if($arr[0] == 'uniqueid2'){
      $result = $arr;
      break;
    }
  }

print_r($ result);

輸出:

數組([0] => uniqueid2 [1] =>品牌[2] =>馬力[3] => topspeed)

$uniqueid = 12345;

foreach ($myarray['mysite'] as $car) {
    if($car[0] == $uniqueid) {
        $car_info = $car;
        break;
    }
}

如果uniqueid在各個汽車上都是唯一的,則可以嘗試如下重組數組

如果可能的話

Array (
    [mysite] => Array
    (
        [uniqueid1] => Array
            (
                [0] => uniqueid1
                [1] => brand
                [2] => horsepower
                [3] => topspeed
            )

        [uniqueid2] => Array
            (
                [0] => uniqueid2
                [1] => brand
                [2] => horsepower
                [3] => topspeed
            )

        [uniqueid3] => Array
            (
                [0] => uniqueid3
                [1] => brand
                [2] => horsepower
                [3] => topspeed
            )
    )
)

這樣,您可以直接訪問汽車以獲得唯一標識,也可以應用隨機邏輯

如果不是,@ Jevgeni Bogatyrjov解決方案效果很好

foreach ($myarray['mysite'] as $car) {
    if($car[0] == $uniqueid) {
        $car_info = $car;
        break;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM