Как заменить повторяющиеся объявления переменных и условные операторы при подсчете значений в многомерном массивеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как заменить повторяющиеся объявления переменных и условные операторы при подсчете значений в многомерном массиве

Сообщение Anonymous »

Код: Выделить всё

$champion1greenwards = 0;
$champion2greenwards = 0;
$champion3greenwards = 0;
$champion4greenwards = 0;
$champion5greenwards = 0;
$champion6greenwards = 0;
$champion7greenwards = 0;
$champion8greenwards = 0;
$champion9greenwards = 0;
$champion10greenwards = 0;

foreach ($json as $arrays) {
if (is_array($arrays)) {
foreach ($arrays as $arrayx) {
foreach ($arrayx as $arrayt) {
foreach ($arrayt as $array) {
if ($array['type'] == 'WARD_PLACED' &&  $array['wardType'] == 'SIGHT_WARD' && $array['creatorId'] == '1') {
$champion1greenwards++;
}
if ($array['type'] == 'WARD_PLACED' &&  $array['wardType'] == 'SIGHT_WARD' && $array['creatorId'] == '2') {
$champion2greenwards++;
}
if ($array['type'] == 'WARD_PLACED' &&  $array['wardType'] == 'SIGHT_WARD' && $array['creatorId'] == '3') {
$champion3greenwards++;
}
if ($array['type'] == 'WARD_PLACED' &&  $array['wardType'] == 'SIGHT_WARD' && $array['creatorId'] == '4') {
$champion4greenwards++;
}
if ($array['type'] == 'WARD_PLACED' &&  $array['wardType'] == 'SIGHT_WARD' && $array['creatorId'] == '5') {
$champion5greenwards++;
}
if ($array['type'] == 'WARD_PLACED' &&  $array['wardType'] == 'SIGHT_WARD' && $array['creatorId'] == '6') {
$champion6greenwards++;
}
if ($array['type'] == 'WARD_PLACED' &&  $array['wardType'] == 'SIGHT_WARD' && $array['creatorId'] == '7') {
$champion7greenwards++;
}
if ($array['type'] == 'WARD_PLACED' &&  $array['wardType'] == 'SIGHT_WARD' && $array['creatorId'] == '8') {
$champion8greenwards++;
}
if ($array['type'] == 'WARD_PLACED' &&  $array['wardType'] == 'SIGHT_WARD' && $array['creatorId'] == '9') {
$champion9greenwards++;
}
if ($array['type'] == 'WARD_PLACED' &&  $array['wardType'] == 'SIGHT_WARD' && $array['creatorId'] == '10') {
$champion10greenwards++;
}
}
}
}
}
}
$championgreenwards = array(
$champion1greenwards,
$champion2greenwards,
$champion3greenwards,
$champion4greenwards,
$champion5greenwards,
$champion6greenwards,
$champion7greenwards,
$champion8greenwards,
$champion9greenwards,
$champion10greenwards
);
Результат массива $championgreenwards:

Код: Выделить всё

    Array
(
[0] => 0
[1] => 14
[2] => 0
[3] => 0
[4] => 20
[5] => 0
[6] => 16
[7] => 0
[8] => 0
[9] => 23
)
С помощью этого кода я подсчитываю, сколько раз чемпион 1,2,3,4,5,6,7,8,9,10 раз разместил варды на карте, а затем создаю массив с данными. Но код такой длинный, и я не знаю, как его сократить.
Ответить

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

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

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

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

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