Кудесники PHP, хелп ми, плиз!

12
regta
На сайте с 15.04.2006
Offline
320
641

Здравствуйте

Помогите, плиз, php-дилетанту.

Есть такая строка в некотором php-файле:

<a href="/page/<?= $id_clubs2 ?>/art/list/">

Идея понятная, подставляется некий айдишник в адрес ссылки

Как сделать так, чтобы:

если $id_clubs2 имеет значение "00", то ничего не подставляется (на выходе: /page/art/list/)

а если $id_clubs2 имеет любое другое значение, то оно и подставляется

(например, $id_clubs2 имеет значение "11", то на выходе /page/11/art/list/ )

Заранее не просто признателен, а признателен-ПЛЮС

Спасибо!!!

Цитируйте, плиз, историю переписки в личке. Спасибо.
ishipilov
На сайте с 25.12.2011
Offline
101
#1

Конкретно "00"?

Тогда замените

<?= $id_clubs2 ?>

на

<?php if($id_clubs2!='00') echo $id_clubs2; ?>
D
На сайте с 03.09.2013
Offline
22
#2

<?php
if ($id_clubs2 != 00) echo '/page/'.$id_clubs2.'/art/list/';
else echo '/page/art/list/';
?>
ishipilov
На сайте с 25.12.2011
Offline
101
#3

выше написал с ошибкой (будет два слэша подряд идти). вот правильно:

<a href="/page<?php if($id_clubs2!='00') echo '/'.$id_clubs2; ?>/art/list/">
SeVlad
На сайте с 03.11.2008
Offline
1609
#4
regta:
<a href="/page/<?= $id_clubs2 ?>/art/list/">

Во первых убрать лишний слеш:

<a href="/page<?= $id_clubs2 ?>/art/list/">

Вот вторых перед этим как-то так:

if ($id_clubs2 != "00") {
$id_clubs2='/'.$id_clubs2;
}
else {
$id_clubs2="";
}

Говнокод может быть с ошибками. Показан сам принцип.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
regta
На сайте с 15.04.2006
Offline
320
#5

Спасибо!!!

SeVlad, репомёт заклинило, сорри

IL
На сайте с 20.04.2007
Offline
435
#6


<a href="/page<?= $id_clubs2 == '00' ? '' : '/'.$id_clubs2 ?>/art/list/">
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
ValdisRu
На сайте с 02.10.2006
Offline
139
#7

ну и в коллекцию вариант без IF'а:


<?
$uri="/page/".$id_clubs2."/art/list/";
$uri=str_replace('/00','',$uri);
echo '<a href="'.$uri.'">';
?>
Обалденный заработок на социальных сетях (https://goo.gl/Qtsq6M)
IL
На сайте с 20.04.2007
Offline
435
#8
ValdisRu:
$uri=str_replace('/00','',$uri);

$id_clubs2 = '007';
ValdisRu
На сайте с 02.10.2006
Offline
139
#9
ivan-lev:
$id_clubs2 = '007';

согласен, не учел, ну тогда так

$uri=str_replace('/00/','/',$uri); 
IL
На сайте с 20.04.2007
Offline
435
#10
ValdisRu:
согласен, не учел, ну тогда так

ValdisRu, на самом деле, вопрос даже не в этом. Вполне удачный пример кхм-кхм-кода (просьба не принимать на свой счёт - в данном случае пояснения относятся непосредственно к коду)

Код не стал понятнее (более того, как выясняется, появилась возможность на ровном месте "не учесть"). (*)

Код не стал быстрее (зачем использовать "тяжёлые" функции замены в строке /хорошо, не регулярку предложили/, если можно и вполне логично использовать более "лёгкое" сравнение?)

Для демонстрации наличия альтернативного варианта ("без if")?

(*) Строго говоря, все вышеперечисленные варианты отработают не совсем так, как описано в первом посте /полагаю, так и задумано/ для случая, когда

<?php $id_clubs2 = 0; ?>
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий