[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Условный оператор и логическое выражение в PHP
XDmitry
День добрый!

Вопрос к специалистам PHP. Есть конструкция (вроде правильная?):

<?php if (логическое выражение_1): ?>

<?php
“оператор_ 1?>

<?php
elseif (логическое выражение_2): ?>

<?php
“оператор_2” ?>

<?php
else: ?>

<?php
“оператор_3” ?>

<?php
endif; ?>


Может что намудрил, короче: если выражение_1 TRUE (в массиве есть хотябы одно значение), исполнить оператор_1.
Если FALSE, то: если выражение_2 TRUE, исполнить оператор_2. Если выражение_2
FALSE, то выполнить оператор_3. Весь код будет в шаблоне …tpl.php.

Логическое выражение_1 это:

foreach ((array)$node->field_salary_agreement_vac as $item) {
print $item['view']
}


Логическое выражение_2 это:

$node->field_age_vac[0]['view']
.
Здесь понятно, будет так:
<?php elseif ($node->field_age_vac[0]['view']): ?>


А вот логическое выражение_1 как составить? Спасибо
XDmitry
Уточнение. Существует поле, где пользователь может ввести определенные значения. Результат выводится при помощи функции перебора массива:

foreach ((array)$node->field_salary_agreement_vac as $item) {
print $item['view']
}


Однако, если пользователь ничего не вводил, массив будет пустой. Вот и нужно составить условие: если значения в массиве есть, оператор_1 выполнится. Если значений нет, произойдет переход к elseif (логическое выражение_2).
sergeiss
Да, такая конструкция есть. Только зачем в каждой строке писать тэги <?php и ?>

А для условия "в массиве есть значения" используй count() - получишь количество элементов массива.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
XDmitry
<?php ?> - это так шаблон страницы настроен в CMS Drupal. Вот например, отрезок кода:

<div class="field-label-inline-first field-label-vacancy">
<?php print t('In addition:'); ?>
<?php
foreach ((array)$node->field_add_one_vac as $item) { ?>
<span class="bold-none"><?php print $item['view'] ?></span>
<?php } ?>
</div>

Конечно можно переиначить, но это потом. А как именно применить эту функцию count()?
sergeiss
Цитата (XDmitry @ 22.08.2010 - 01:35)
А как именно применить эту функцию count()?

Вот её описание: http://ru.php.net/manual/en/function.count.php

Где-то можно было по-русски получить описалово, но я не помню smile.gif Потому что мне хватает хорошего хэлпа на английском (см. у меня в подписи).

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
XDmitry
Спасибо за отзыв! Буду "грызть гранит" huh.gif
XDmitry
Может что не так, но не выходит ничего.

<?php 
foreach ((array)$node->field_salary_agreement_vac as $item) {
$result = count($item['view']);
if ($result > 0) {
print $item['view'];//выполняется условие
}
else {
print 'none value';// дефолтное значение
}
}

?>
Быстрый ответ:

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