[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в конструкции if
vahrusha
Здравствуйте, прошу помощи. Вот на это дело (конструкция if):

function writeit($path, $head, $desc_s, $desc, $rever){
global $main, $glo_desc, $gpath, $page, $c_num, $d_num;
//...
//...

if($desc){
$glo_desc .= '<!-- Подробнее - about'.$d_num.'--><br />'.htmlspecialchars('<tr><td><h4><b>', ENT_NOQUOTES, 'UTF-8').strtr($head, array('<b>' => '', '<br />' => '')).htmlspecialchars('</b></h4></td></tr><tr><td><img class="flimg2" src="', ENT_NOQUOTES, 'UTF-8').$gpath.$path.$xxx.'" width="83" height="83" alt="'.strtr($head, array('<b>' => '', '<br />' => '')).'"'.$onclick.' />'.substr($desc_s, 0, strlen($desc_s)-1).$desc.htmlspecialchars('</td></tr><tr><td style="border-bottom:1px solid #c0c0c0"><a href="', ENT_NOQUOTES, 'UTF-8').substr($gpath, 0, strlen($gpath)-1).'.php?page='.$page."#$d_num".htmlspecialchars('">Вернуться назад...</a></td></tr>', ENT_NOQUOTES, 'UTF-8').'<br />';
}
//...
//...

}

выводится ошибка:
Parse error: syntax error, unexpected T_IF in Z:\home\localhost\www\mitel\auto.php on line...
Что-то не могу понять, в чем я неправ?
Спасибо.



Спустя 21 минута, 24 секунды (8.05.2010 - 18:14) WebClass написал(а):
Может напишешь в какой именно строке ошибка?

Спустя 19 минут, 57 секунд (8.05.2010 - 18:34) ИНСИ написал(а):
vahrusha офигеть как ты сделал. другого метода не нашлось? smile.gif

Спустя 26 минут, 1 секунда (8.05.2010 - 19:00) vahrusha написал(а):
Цитата (WebClass @ 8.05.2010 - 15:14)
Может напишешь в какой именно строке ошибка?

if($desc){

Спустя 6 минут, 12 секунд (8.05.2010 - 19:06) vahrusha написал(а):
Цитата (welbox2 @ 8.05.2010 - 15:34)
vahrusha офигеть как ты сделал. другого метода не нашлось? smile.gif

Я только начал изучать PHP, раньше этим никогда не занимался, других методов пока не знаю. Я и HTML то освоил месяца 3 назад. Я не спорю, может, что то и неправильно делаю, но с помощью того, что я привел выше, я для себя пытаюсь вывести html код в браузер, чтобы потом его скопировать и вставить на страницу, она очень насыщенна элементами и вручную набирать нудно.
Те пять аргуметов, что принимает функция и есть то, из чего я пытаюсь состряпать. Что-то вроде этого:

$path1 = 'блабла'; $head1 = 'блабла'; $desc_s1 = 'блабла'; $desc1 = 'блабла'; $rever1 = 'блабла';
$path2 = 'блабла'; $head2 = 'блабла'; $desc_s2 = 'блабла'; $desc2 = 'блабла'; $rever2 = 'блабла';
// и т.д.
for($i = 1; $i<=8; $i++){
$c_num = $i; // не знаю, насчет видимости $i в функции, поэтому делаю так.
$arg1 = 'path'.$c_num; $arg2 = 'head'.$c_num; $arg3 = 'desc_s'.$c_num; $arg4 = 'desc'.$c_num; $arg5 = 'rever'.$c_num;
writeit($$arg1, $$arg2, $$arg3, $$arg4, $$arg5);
}

Ладно, буду сам разбираться. Спасибо.

Спустя 25 минут, 10 секунд (8.05.2010 - 19:31) vahrusha написал(а):
А вообще я понимаю, что в том, что я написал, особо никому разбираться желания нет, единственное, буду признателен за ответ на следующий вопрос:

$myvar = ''; или $myvar = 0;
if($myvar){
...
}

В этих случаях, выражение $myvar будет возвращать false?
Спасибо.

Спустя 24 минуты, 41 секунда (8.05.2010 - 19:56) vahrusha написал(а):
Источник проблемы нашел. Забыл ";" перед вышеупомянутой "конструкцией if" поставить. Может сделал я и не изящно, но все работает так, как я хотел :Р
Спасибо за участие.

Спустя 29 минут, 39 секунд (8.05.2010 - 20:26) ИНСИ написал(а):
Цитата
В этих случаях, выражение $myvar будет возвращать false?

в этом случае вернет true. потому что ты проверяешь, существует ли переменная $myvar

Спустя 10 часов, 8 минут, 9 секунд (9.05.2010 - 06:34) vahrusha написал(а):
Спасибо.

Спустя 3 часа, 58 минут, 49 секунд (9.05.2010 - 10:33) sergeiss написал(а):
Цитата (welbox2 @ 8.05.2010 - 21:26)
в этом случае вернет true. потому что ты проверяешь, существует ли переменная $myvar

С какого бы перепуга? Ты хоть бы проверил, прежде чем говорить!!!

Для проверки сусществование переменной есть функция isset(), а if( $myvar ) как раз оценивает величину переменной и в любом случае из двух указанных вернет false.

Спустя 5 часов, 51 минута, 32 секунды (9.05.2010 - 16:24) vahrusha написал(а):
Цитата (sergeiss @ 9.05.2010 - 07:33)
С какого бы перепуга? Ты хоть бы проверил, прежде чем говорить!!!

Для проверки сусществование переменной есть функция isset(), а if( $myvar ) как раз оценивает величину переменной и в любом случае из двух указанных вернет false.

Ну слава богу, а то я извелся весь, думая, почему у меня в голове отложилось, что если проверяемое выражение содержит нуль, пустую строку или неопределенную переменную, то оно возвратит false. Выходит, правильно отложилось smile.gif

Спустя 6 часов, 6 минут, 49 секунд (9.05.2010 - 22:31) sergeiss написал(а):
Цитата (vahrusha @ 9.05.2010 - 17:24)
Выходит, правильно отложилось

Хэлп об этом говорит прямо:

При преобразовании в логический тип, следующие значения рассматриваются как FALSE: 

Сам булев FALSE
целое 0 (ноль)
число с плавающей точкой 0.0 (ноль)
пустая строка и строка "0"
пустой массив
объект без атрибутов (только в PHP 4)
специальный тип NULL (включая неустановленные переменные)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.