Как не писать много «ЕСЛИ»?Php

Кемеровские программисты php общаются здесь
Ответить
Гость
 Как не писать много «ЕСЛИ»?

Сообщение Гость »


У меня есть конструктор колод Hearthstone (карточная игра), который работает нормально, но я хочу автоматически добавлять «подтип», чтобы пользователи могли создавать свои колоды еще быстрее.

На некоторых картах есть расы или типы заклинаний, и это может определять подтип. Например: если в колоде более 5 карт типа расы Демонов, то это будет подтип колоды, но колода может иметь больше подтипов (после сохранения колоды пользователь может изменить их, если ему не нравится выбранный подтип). по коду).

Итак, если в колоде 10 демонов и 10 пиратов, то я сохраняю в столбце SQL подтипа следующее: «демон,пират». Все хорошо, но реализация не очень.

Итак, позвольте мне поделиться с вами кодом: Я перебираю все карты в колоде...

if((strpos($card['race'], 'Demon') !== false)) { $демон++; если ($ демон >= 6) { $subtype[0] = 'Демон'; } } if((strpos($card['race'], 'Pirate') !== false)) { $пират++; если($пират >= 6) { $subtype[1] = 'Пират'; } } Теперь я думаю, вы поняли мою проблему. Если у нас 10 разных рас, то это 10 «ЕСЛИ», если 100, то это 100 «ЕСЛИ». Что мне делать?

Я думал о массиве. Чтобы сделать что-то подобное в цикле:

$subtype = array(); if(!empty($card['race'])) { array_push($subtype,$card['race']); } После того, как цикл пройдет все карты, я бы сделал следующее:

sort($subtype); //просто чтобы выглядеть красиво $count = array_count_values($подтип); print_r ($ кол-во); Тогда на этом мои знания заканчиваются. Как я могу с этим работать? Я получаю такой результат:

Массив ( [Демон] => 6 [Мурлок] => 4 [Пират] => 8 ) Я хочу сохранить переменную подтипа, если она больше 5. Как поместить в переменную «Демон» и «Пират»? Конечным результатом будет:
$subtype = "Демон,Пират"
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»