Итак, в основном, я должен зациклить массив из 25000 элементов, а затем сравнить каждый элемент с идентификатором другого массива, а если идентификаторы из первого массива и второго совпадения, то создать еще один массив совпадающих элементов.Это выглядит примерно так.
foreach ($all_games as $game) {
foreach ($user_games_ids as $user_game_id) {
if ($user_game_id == $game["appid"]) {
$game_details['title'][] = $game["title"];
$game_details['price'][] = $game["price"];
$game_details['image'][] = $game["image_url"];
$game_details['appid'][] = $game["appid"];
}
}
}
Я протестировал этот цикл только с 2500 записями из первого массива ($ all_games) и примерно с 2000 записями из второго массива ($ user_games_ids), и, насколько я понял,для выполнения этого фрагмента кода требуется около 10 секунд , только выполнение цикла.Это нормально?Должно ли это занять много времени или я подхожу к вопросу с другой стороны?Есть ли способ сократить это время?Потому что когда я применяю этот код к 25000 записей, это время значительно увеличивается.
Любая помощь приветствуется, спасибо.
РЕДАКТИРОВАТЬ: Так что нет путаницы, я могуне использую запрос к базе данных для повышения производительности, хотя я добавил все 25000 игр в базу данных, я не могу сделать то же самое для идентификаторов пользовательских игр.Я не знаю, каким образом можно получить доступ ко всем пользователям через этот API, к которому я получаю доступ, и даже если это так, это будет действительно много пользователей.Я получаю идентификаторы игр на лету, когда пользователь вводит свой идентификатор в форму, и на основании этого я использую file_get_contents для получения этих идентификаторов, а затем сопоставляю их с базой данных, в которой хранятся все игры.Опять же, это может быть не самый лучший способ, но только один, о котором я мог подумать на данный момент.