1

Тема: if_elseif_else

Добрий Вечір .Поможіть будь ласка розібратись.Мені потрібно щоб при певних номерах виводилась пена строка або картинка.
наприкла у мене є fail в ній є чисо від 1-1000 мені потрібно щоб скрипт перевіряв яке число в таблиці і видавав певну картинку
наприклад
якщо число від 1-99 повинно вибити 1 картинку
якщо число від 100-199 повинно вивести 1 картинку
якщо число від 200-299 повинно вивести 2 картинку
якщо число від 300-399 повинно вивести 3 картинку
якщо число від 400-499 повинно вивести 4 картинку
якщо число від 500-599 повинно вивести 5 картинку
якщо число від 600-699 повинно вивести 6 картинку
якщо число від 700-799 повинно вивести 7 картинку
якщо число від 800-899 повинно вивести 8 картинку
якщо число від 900-1000 повинно вивести 9 картинку

2

Re: if_elseif_else

<?php

$n = 150;

$image = 'default';

if ($n < 100) {
  $image = '1';
} else if ($n < 200) {
  $image = '1';
} else if ($n < 300) {
  $image = '2';
} else if ($n < 400) {
  $image = '3';
} else if ($n < 500) {
  $image = '4';
} else if ($n < 600) {
  $image = '5';
} else if ($n < 700) {
  $image = '6';
} else if ($n < 800) {
  $image = '7';
} else if ($n < 900) {
  $image = '8';
} else if ($n < 1000) {
  $image = '9';
}
$image .= '.png';

або ще можна так:

$n = 150;

if ($n < 100) {
  $n = 100;
}

$image = (int) ($n / 100);
$image .= '.png';

?>

Подякували: Faraon1

3

Re: if_elseif_else

Replace написав:

<?php

$n = 150;

$image = 'default';

if ($n < 100) {
  $image = '1';
} else if ($n < 200) {
  $image = '1';
} else if ($n < 300) {
  $image = '2';
} else if ($n < 400) {
  $image = '3';
} else if ($n < 500) {
  $image = '4';
} else if ($n < 600) {
  $image = '5';
} else if ($n < 700) {
  $image = '6';
} else if ($n < 800) {
  $image = '7';
} else if ($n < 900) {
  $image = '8';
} else if ($n < 1000) {
  $image = '9';
}
$image .= '.png';

або ще можна так:

$n = 150;

if ($n < 100) {
  $n = 100;
}

$image = (int) ($n / 100);
$image .= '.png';

?>

default



дякую за відпоавідь

4

Re: if_elseif_else

Варіант 2 є оптимальним рішенням тільки необхідно додати умову якщо $image > 9.

Одну замітку хочу додати. Не використовуйте таких конструкцій if else як ви вказали вище. Код від цього стає неможливо підтримувати. В крайньому випадку використовуйте switch.

$i = 154;

switch ($i) {
  case $i < 200:
    $image = 1;
    break;

  case $i < 300:
    $image = 2;
    break;

  default:
    $image = 'default';
    break;
}


echo $image;
Подякували: Faraon1