foreach([0 => [5, 10], 100 => [10, 20], 1000 => [20, 40], 10000 => [40, 80], 100000 => [80, 160], 1000000 => [160, 240]] as $expp => $prof) {
if(опыт игрока >= $expp) {
[$minp, $maxp] = $prof; // заработок игрока
}
}
PHP
Необходимо оптимизировать и ускорить код PHP
Вариант 1
foreach ([1000000 => [160, 240], 100000 => [80, 160], 10000 => [40, 80], 1000 => [20, 40], 100 => [10, 20], 0 => [5, 10]] as $expp => $prof) {
if (опыт игрока >= $expp) {
[$minp, $maxp] = $prof;
break; // вот ради этого порядок значений изменён на обратный
}
}
Вариант 2
[$minp, $maxp] = [160, 240];
foreach ([100 => [5, 10], 1000 => [10, 20], 10000 => [20, 40], 100000 => [40, 80], 1000000 => [80, 160]] as $expp => $prof) {
if (опыт игрока < $expp) {
[$minp, $maxp] = $prof;
break;
}
}
Вариант 3
[$minp, $maxp] = [160, 240];
foreach ([100 => 5, 1000 => 10, 10000 => 20, 100000 => 40, 1000000 => 80] as $expp => $prof) {
if (опыт игрока < $expp) {
$maxp = 2 * ($minp = $prof);
break;
}
}
Вариант 4 (НЕ РАБОТАЕТ, если опыт игрока равен 0, но никаких циклов):
[$minp, $maxp] = [0 => [5, 10], 1 => [5, 10] , 2 => [10, 20], 3 => [20, 40], 4 => [40, 80], 5 => [80, 160]][floor(log10(опыт игрока))] ?? [160, 240];
foreach ([1000000 => [160, 240], 100000 => [80, 160], 10000 => [40, 80], 1000 => [20, 40], 100 => [10, 20], 0 => [5, 10]] as $expp => $prof) {
if (опыт игрока >= $expp) {
[$minp, $maxp] = $prof;
break; // вот ради этого порядок значений изменён на обратный
}
}
Вариант 2
[$minp, $maxp] = [160, 240];
foreach ([100 => [5, 10], 1000 => [10, 20], 10000 => [20, 40], 100000 => [40, 80], 1000000 => [80, 160]] as $expp => $prof) {
if (опыт игрока < $expp) {
[$minp, $maxp] = $prof;
break;
}
}
Вариант 3
[$minp, $maxp] = [160, 240];
foreach ([100 => 5, 1000 => 10, 10000 => 20, 100000 => 40, 1000000 => 80] as $expp => $prof) {
if (опыт игрока < $expp) {
$maxp = 2 * ($minp = $prof);
break;
}
}
Вариант 4 (НЕ РАБОТАЕТ, если опыт игрока равен 0, но никаких циклов):
[$minp, $maxp] = [0 => [5, 10], 1 => [5, 10] , 2 => [10, 20], 3 => [20, 40], 4 => [40, 80], 5 => [80, 160]][floor(log10(опыт игрока))] ?? [160, 240];
Иван Козлов
спасибо много раз мне помогал)
оптимизировать мона - закономерность налицо... а вот насчет "ускорить" - фуфло! быстрее он не залетает!
Иван Козлов
а что по оптимизации?
Похожие вопросы
- Помогите с кодом PHP
- Что означает "%0A" в коде php?
- Почему браузер отображает сам код php а не готовый ответ "5"?
- ошибка в коде php
- Как оптимизировать структуру сайта php. на готовом шаблоне
- Помогите с PHP кодом! Где косяк?
- Как заменить html код с помощью php файла.
- Структура PHP кода
- При написании php кода для отправки записи в базу данных выходит ошибка
- Помогите с php кодом, плиз) хотел функцию транслитерации написать, только ошибка выходит и все :(