- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Коллеги, можно в PHP как-то подставить значение переменной в качестве условия IF?
То есть:
$a=1;
$x = "$a < 2";
if ( *** ) {
//Сделай что-нибудь
}
Где *** берётся значение $x, в примере = if ($a < 2)
Непонятный вопрос. Что мешает написать
if ($a < 2){
...
}
Это изврат, переделывайте логику работы скрипта.
Или вы руками условия пишите?
Коллеги, можно в PHP как-то подставить значение переменной в качестве условия IF?
То есть:
$a=1;
$x = "$a < 2";
if ( *** ) {
//Сделай что-нибудь
}
Где *** берётся значение $x, в примере = if ($a < 2)
А я убрал кавычки - и всё заработало.
Действующий пример:
http://prohorov-andrej.ru/node/77
<?
$a=1;
$x = $a < 2;
if ($x==1) {
print "job<br>";
}
$a=3;
print $y = $a < 2;
if ($y!=1) {
print 'nojob';
}
?>
А я убрал кавычки - и всё заработало.
Действующий пример:
http://prohorov-andrej.ru/node/77
<?
$a=1;
$x = $a < 2;
if ($x==1) {
print "job<br>";
}
$a=3;
print $y = $a < 2;
if ($y!=1) {
print 'nojob';
}
?>
И все же это неправильный подход, зачем вам еще одна переменная X если можно написать if ($a < 2)
А если не убрать и на входе строка?
Или вы руками условия пишите?
Да, практически. Ща попробую сформулировать....
У пользователя есть возможность генерировать собственные шаблонные переменные, которые используются в работе скрипта, делает он это, заполняя форму по шаблону, но с неограниченным количеством полей (можно натыкивать их Ajax-ом до посинения).
В итоге имеем что-то вроде:
%шаблон% = ($переменная_1 > 10 AND $переменная_2 = 'строка' AND ...) ? ...
У нас есть некий объект в базе, у которого масса параметров (условно - товарная карточка, очень близко по смыслу, кстати).
Так вот если $цвет = красный, $цена > 10, $страна производства = 'Турция', то получаем заранее заготовленное значение шаблона. После чего шаблон подставляется в описание товарной карточки, получается читабельное уникальное описание.
Здесь в роли пользователя выступает не некий безымянный абстрактный юзер, а, раз уж это близко по смыслу к товарной карточке - контент-менеджер магазина.
Условий каждый контент-менеджер может нагенерировать сколько ему позволит фантазия, переменных в каждом условии от 1, до N, проще всего их сразу хранить именно в виде строки "$var > 1 && $var = 2 && $var = \'string\'"
Соответственно в базе имеем таблицу:
ID
Юзер_ID
%Шаблон%
Условие
Замена
И на первый взгляд всё круто и удобно...
Если есть идеи как лучше организовать хранение и проверку условий другим способом - буду весьма признателен. Чой-то я не ожидал засады на этом этапе :)
У symfony есть компонент Expression Language - https://symfony.com/doc/current/components/expression_language.html он, походе, умеет то. что вам надо.
Если очень нужны ковычки - тогда так:
<?
$a=1;
$x = "$a < 2";
eval ("\$x=$x;");
if ($x) {
print "job<br>";
}
//----------------------------------------------------------
$a=3;
$y = "$a < 2";
eval ("\$y=$y;");
if ($y) {
print 'nojob';
}
?>
http://prohorov-andrej.ru/node/78
miltorg, еще с одинарными забабахай и не забудь ссылку на говносайт.
Ох уж эта опасная и сладостная магия eval() :D