[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: создание условия
Страницы: 1, 2
harley777
Вопрос в следующем
Сейчас скрипт настроен на первый falsе:
if($col['era'] == false){
выполняются команды
}
мне нужно, что бы команда выполнялась после второго false т.е.


if($col['era'] == false>1){
выполняются команды
}

так можно записать ? (подозреваю, что нет )

axmen
То есть, во так, примерно?
for(var i=0;  i<=4; ++i )
{
f($col['erа] '==false && $I == 2)
{



}
}

arbuzmaster
Что значит Второго false ? Это элемент массива и даже при переборе массива он либо есть либо его нет. Мне лично не понятна суть вопроса!

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
inpost
harley777
Ставишь счётчик:
$i = 0;

Далее при каждом повышаешь счётчик на +1;
И не забудь условие добавить, когда счётчик стал нужного тебе числа и тогда выполняешь код:
if($i >= 2)

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
harley777
Цитата (arbuzmaster @ 20.08.2016 - 15:57)
Что значит Второго false ? Это элемент массива и даже при переборе массива он либо есть либо его нет. Мне лично не понятна суть вопроса!


Есть строка, в ней 10 блоков, 8 блоков "erа" (берутся с БД) и два - "не erа", которых нет в БД

при таком условии
if($col['era'] == false){
выполняются команды
}
когда выбираю первый блок "не erа" выполняется команда скрипта
{
выполняются команды
}
т.к. условие сработало. Мне же нужно что бы команда выполнялась после выбора второго блока "не erа". Т.е. что бы не значение блока равнялось двум, а что бы второй блок "не erа" вызывал выполнение команды скрипта
harley777
Цитата (axmen @ 20.08.2016 - 15:30)
То есть, во так, примерно?

Чуть выше более развернуто описал суть
arbuzmaster
Ну если происходит именно так как Вы написали, то ответ дал inpost выше. Т.е. запускаете счетчик и считаете, сколько раз выполнилось условие

$count=0;
while (или ваш цикл)
{
if($col['era'] == false)
{
$count++; // Увеличение счетчика

if( $count >= 2) //здесь Ваше число
{
выполняются новые команды
}
}

}


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
harley777
Цитата (arbuzmaster @ 20.08.2016 - 20:30)
$count=0;

$count=0;
while ($col['era'] == false)
{
if($col['era'] == false)
{
$count++; // Увеличение счетчика

if( $count == 2) //здесь Ваше число
{
//выполняются новые команды
}
}

}
так могу записать?

и ещё вопрос:
могут ли быть подряд три равно?
===
if($f===false){

или это ошибка?
Миша
Цитата (harley777 @ 24.08.2016 - 16:36)
Цитата (arbuzmaster @ 20.08.2016 - 20:30)
$count=0;

$count=0;
while ($col['era'] == false)
{
if($col['era'] == false)
{
$count++; // Увеличение счетчика

if( $count == 2) //здесь Ваше число
{
//выполняются новые команды
}
}

}



Учитесь оформлять код правильно.

Пользоваться поиском Три знака равно

Читать manual - Операторы сравнения

$count=0;
while ($col['era'] === false)
{
// Основной код

$count++;
if($count == 1) {
// При первом проходе
} elseif($count == 2) {
// При втором проходе
$col['era'] = true;
}
}


_____________
Принимаю заказы, писать в ЛС
arbuzmaster
harley777 Можно и так написать, но тогда цикл станет бесконечным и будет выполняться до тех пор пока $col['era'] не станет равным true внутри цикла. Но мне кажется, что у Вас должно быть всё по другому, поэтому предлагаю показать весь кусок кода где формируется $col['era']

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
harley777
Цитата (Медведь @ 24.08.2016 - 16:50)
Учитесь оформлять код правильно.

Пользоваться поиском Три знака равно

Читать manual - Операторы сравнения

Спасибо :)

пока код не работает

Давайте все сначала - есть код

            if($col['era'] == false){
// Оределяем план текущей линии для создания линии с тем же планом
$p_id = $this->lines_mdl->getPriceByLineId((int)$line);
$p_id = $p_id['plan_id'];
$this->lines_mdl->generate_new($p_id);

}


он срабатывает когда в линии из десяти ['era'] наступает первый раз false, код срабатывает, выполняется действие:

$p_id = $this->lines_mdl->getPriceByLineId((int)$line);
$p_id = $p_id['plan_id'];
$this->lines_mdl->generate_new($p_id);

как правильно записать код, что бы это действие выполнилось по второму заранее не известно в какой последовательности случайно выпавшему false ?
пробовал

$count=0;
while ($col['era'] === false)
{
// Основной код

$count++;
if($count == 1) {
// При первом проходе
} elseif($count == 2) {
// При втором проходе
$p_id = $this->lines_mdl->getPriceByLineId((int)$line);
$p_id = $p_id['plan_id'];
$this->lines_mdl->generate_new($p_id);
}
}


не работает, два false выпадают, а генерация и т.д. не происходит

как правильно записать?
Быстрый ответ:

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