2009-06-09 4 views
0

Какого черта это неправильно с этим:Если заявление

if ($bb[$id][0] == "bizz") { 
    $BoxType = "bus_box"; 
} else { 
    $Boxtype = "home_box"; 
} 
<div class="<? echo $BoxType; ?>"> 

$bb[$id][0] может быть либо «BIZZ» или «дом», но независимо от того, что он останавливается после первого шага ...

Это сводит меня с ума!

+1

Не могли бы вы отредактировать это, чтобы код читался правильно? И не могли бы вы также объяснить, что вы сделали, чтобы проверить это. – scragar

+0

Спасибо - не удалось увидеть $ wood для $ деревьев! – 2009-06-09 20:07:06

+0

Мне кажется, что ошибка погрешности в кофейном буфере. –

ответ

10

PHP-переменные чувствительны к регистру. «T» в $BoxType является строчным регистром в блоке else.

5

Не полностью связанные с вашим вопросом (который уже ответили), но вы можете быть заинтересованы в тройном операторе :)

<div class="<?= $bb[$id][0] == "bizz" ? "bus_box" : "home_box" ?>"> 
1

Объясните, что вы имеете в виду под «он останавливается после первого шага». Том прав, $ BoxType и $ Boxtype - это не одни и те же переменные, но похоже, что $ BoxType всегда получает «bus_box». Если бы он действительно «останавливался после первого шага», $ BoxType был бы тем, чем он был инициализирован, в случае, если $ bb [$ id] [0] был «bizz», а $ Boxtype - «home_box».

Смежные вопросы