Случайное ассоциированное значение массива в PHP - PullRequest
0 голосов
/ 03 октября 2018

У меня есть ассоциативный массив, который приходит из функции

mysqli_fetch_assoc() 

.Я получил бы значение из случайного ключа этого ...

По сути, мне просто нужно выбрать ИКАО случайным образом из БД.

Итак, я нашел эту функцию

function shuffle_assoc($list) { 
    if (!is_array($list)) return $list; 

    $keys = array_keys($list); 
    shuffle($keys); 
    $random = array(); 
    foreach ($keys as $key) { 
        $random[$key] = $list[$key]; 
    }
 return $random; 
} 

И я попытался кодировать:

$sql = "SELECT icao FROM airport_list";
$result = mysqli_query($conn, $sql);

while ($airports = mysqli_fetch_assoc($result)){
    $random_airport = shuffle_assoc($airports);
}

var_dump($random_airport);

Результат "var-dumped" -

array(1) { ["icao"]=> string(4) "ZYTX" }

, который кажется массивом, который никогда не изменяется при перезагрузкестраница, так что ... я думаю, что это неправильно.

1 Ответ

0 голосов
/ 03 октября 2018

Вы можете упростить весь этот процесс, потянув случайную строку из таблицы, изменив свой запрос, как показано ниже:

SELECT icao FROM airport_list ORDER BY RAND() LIMIT 1
...