Пока я реализую plugin для Wordpress, я не вижу, почему себе не распределяет стоимость в изменчивая $imgluna
Я это показываю с if - endif, но уже я это попробовал с if - elseif - endif
Также уже я это попробовал с if { } и совсем не
Также уже я это попробовал с case ()
Здесь - код:
if ($a > 29):
$lafase = $a - 29;
else:
$lafase = $a;
endif;
if ($fase = 1): $imgluna = 1; endif;
if ($fase = 27): $imgluna = 9; endif;
Стоимость не распределяется, потому что с $fase
не estÃ: s используя действительно оператор comparaci¦n . Для равенства существуют два оператора в PHP, этом, ==
, которые он сравнивает только, если две стоимость - равна, или эта ===
, которые он сравнивает, если две стоимость равна, и если они того же типа (это называется también comparaci¦n строгая).
, Но, видя твой c¦digo, я думаю, что ты можешь использовать тройных операторов (видеть ссылку mÃ: s достигни). Эти операторы - fÃ: ciles понимания, прежде всего в простых сравнениях, и они помогают упрощать много c¦digo.
AsÃ, - вместо этого:
if ($a > 29):
$lafase = $a - 29;
else:
$lafase = $a;
endif;
Podr¦-Схвати иметь немного asÃ, - в единственном l¦-nea используя тройные операторы:
$lafase= ($a > 29) ? $a - 29 : $a;
Просто evalúa condici¦n слева от ?
, если она истинная, переменная берет стоимость слева от :
, и если фальшивая стоимость справа от :
Для другого operaci¦n, могут быть приложенными тройные операторы, тогда это:
if ($fase == 1): $imgluna = 1; endif;
if ($fase == 27): $imgluna = 9; endif;
har¦ - в as¦-:
#Asumiremos que `0` es el valor por defecto por eso es el último valor que se asigna
$imgluna = ($fase == 1) ? 1 : (($fase == 27) ? 9 : 0);
, Если $imgluna
- переменная, которая уже существует и должна пребывать неизменной, если ни одно из условий не выполняется:
$imgluna = ($fase == 1) ? 1 : (($fase == 27) ? 9 : $imgluna);
Прежде всего, когда есть много if
или блоки большие switch ... case
, могут использовать данные, расположенные в порядке в arrays и искать allà - стоимость.
array pondr¦ - в в relaci¦n стоимость, которая должна браться в каждом случае, например:
$allImg=array(
"1"=>1,
"27"=>9,
# Más opciones
);
$fase=27;
#Se usa un ternario y se asigna 0 por defecto
$imgluna= isset($allImg[$fase]) ? $allImg[$fase] : 0;
echo $imgluna;
, Если есть новость opci¦n, ты ничего не должен изменять, только добавлять ее в array $allImg
, и c¦digo harÃ: оставшаяся часть. Он гениален, Â: нет? Вышедшие
:
9