Login
PHP - как грамотно написать?
383 просмотров
Перейти к просмотру всей ветки
in Antwort Zahar 02.12.12 15:37, Zuletzt geändert 03.12.12 10:35 (Sergo2008)
Если подходить с точки зрения компактности и конкретно такого подхода с двумя возможными $url, то project33, дал лучшее решение из приведённых до него. Данный вариант подойдёт для вывода большого количества разных картинок, привязанных к разным страницам. ИМХО!
Если же брать конкретный пример с условием без использования массива, при условии что на главной будет одна, а на остальных другая картинка, то я бы так написал.
echo "<img src=\"bilder/".( ( $url == index.php ) ? "visa.jpg" : "соор.php" )."\" width=\"400\" height=\"646\" border=\"0\">";
или так, если быть совсем точным в отношении проверки, и того случая, что картинки выводятся только на двух страницах и не больше.
echo "<img src=\"bilder/".( ( $url == index.php ) ? "visa.jpg" : ( ( $url == соор.php ) ? "соор.php" : "" ) )."\" width=\"400\" height=\"646\" border=\"0\">";
При этом правильней писать не html в РНР, а РНР в html, таким образом.
< img src="bilder/"<?php echo ( $url == index.php ) ? "visa.jpg" : "соор.php"; ?>" width="400" height="646" border="0">
По крайней мере так пишут, с точки зрения современного подхода правильного написания, и быстродействия обработки.
Приведённый мной вариант не совсем удобочитаемый в сравнении со стандартным if(xx) { xx } else { xx }, но намного короче, и по мне намного проще для простых проверок на 2-3 условия, так как не требует дублирования строк(и).
Если же брать конкретный пример с условием без использования массива, при условии что на главной будет одна, а на остальных другая картинка, то я бы так написал.
echo "<img src=\"bilder/".( ( $url == index.php ) ? "visa.jpg" : "соор.php" )."\" width=\"400\" height=\"646\" border=\"0\">";
или так, если быть совсем точным в отношении проверки, и того случая, что картинки выводятся только на двух страницах и не больше.
echo "<img src=\"bilder/".( ( $url == index.php ) ? "visa.jpg" : ( ( $url == соор.php ) ? "соор.php" : "" ) )."\" width=\"400\" height=\"646\" border=\"0\">";
При этом правильней писать не html в РНР, а РНР в html, таким образом.
< img src="bilder/"<?php echo ( $url == index.php ) ? "visa.jpg" : "соор.php"; ?>" width="400" height="646" border="0">
По крайней мере так пишут, с точки зрения современного подхода правильного написания, и быстродействия обработки.
Приведённый мной вариант не совсем удобочитаемый в сравнении со стандартным if(xx) { xx } else { xx }, но намного короче, и по мне намного проще для простых проверок на 2-3 условия, так как не требует дублирования строк(и).