13 / 8 / 11
Регистрация: 10.09.2012
Сообщений: 874
1

Отрицательное предусловие в while

20.10.2016, 11:36. Показов 640. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.Не выходит заставить работать цикл с таким предусловием.
PHP
1
2
3
4
5
$i=0;
while($i++<8){
if($i!=3){continue;}
....
}
Т.е. нужно, что бы цикл прерывался везде кроме $i=3;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2016, 11:36
Ответы с готовыми решениями:

Цикл с предусловие
С помощью while Найти все числа кратные пяти для чисел от 1 до N.

Задача на Предусловие,постусловие
Здравствуйте! Сделал задачу,но не работает предусловие,помогите пожалуйста.... procedure...

Переделать предусловие на постусловие
как переделать на постусловие? var i,w,k: integer; f: boolean; begin write('enter w: '); ...

Предусловие-цикл-постусловие
Доброго времени суток. Хочу обратиться к Вам за помощью. Нужно решить задачу. Дано Е Нужно...

5
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,431
20.10.2016, 11:57 2
И что не так?
PHP
1
2
3
4
5
$i=0;
while($i++<8){
if($i!=3){continue;}
echo $i;
}
3
0
13 / 8 / 11
Регистрация: 10.09.2012
Сообщений: 874
20.10.2016, 12:43  [ТС] 3
Блин,значит дело в другом.Тогда подскажите, что не так.
PHP
1
2
$name_healse = Array('str1','str2','str3',...'str8');
$number =Array([0]=>1[1]=>2); // Этот массив пришёл из запроса
Также есть текстовые переменные,текст в которых соответствует строкам в первом массиве
PHP
1
$text_0 = $name_healse[0] //и т.д.
Теперь мне надо вывести текст соответственно номерам пришедшим из запроса.И передать их в смарти шаблон.В данном случае 1 и 2.
Если я перебираю все 8 строк, то всё выводится и передаётся
PHP
1
2
3
4
while($i++<8){
$a[$i] = $text.'_'.$i;
}
assign('a', $a)->
HTML5
1
2
3
{section name=foo loop=$a}
    {$a[foo]}
{/section}
Но заставить вывести только, например первую переменную, не передаёт.
PHP
1
2
3
4
while($i++<8){
if($i!=1){continue;}
$a[$i] = $text.'_'.$i;
}
0
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,431
20.10.2016, 13:09 4
PHP
1
2
3
4
5
6
7
8
$name_healse = Array('str1','str2','str3','str8');
$text_1 = $name_healse[0];
while($i++<8) 
{
    if($i!=1) continue;
    else $_[$i]  = ${'text_'.$i};
}
print_r($_);
Но я бы сделал так
PHP
1
2
3
4
$name_healse = Array('str1','str2','str3','str8');
$number = Array(0=>1,1=>2);
$_ = array_intersect_key($name_healse,$number);
print_r($_); // str1,str2
1
13 / 8 / 11
Регистрация: 10.09.2012
Сообщений: 874
20.10.2016, 14:45  [ТС] 5
К моему случаю никак
PHP
1
2
3
4
5
6
7
8
$i=0;
while($i++<7){
    $dease_no[$i] = $_LANG['HOLESTERIN_NO_'.$i.''];
    $dease_yes[$i] = $_LANG['HOLESTERIN_YES_'.$i.''];
    ${'text_'.$i}=$name_healse[$i];
    $dease[$i] = '<tr><td style="color:#AE713A;text-shadow:1px 1px 0 #dcdcdc;" class="center" colspan="2"><b>'.${'text_'.$i}.'</b></td></tr><tr><td>'.$dease_no[$i].'</td><td>'.$dease_yes[$i].'</td></tr>';
 
}
И возвращаю $dease

Добавлено через 1 час 15 минут
Разобрался.Сделал через foreach.Azdeman, спасибо за участие.
0
317 / 185 / 78
Регистрация: 04.10.2016
Сообщений: 790
21.10.2016, 10:12 6
а в чем проблема у while игнорировать при достижении числа 3?

PHP
1
2
3
4
5
6
7
8
9
10
$i=0;
 
while($i++<8)
{
    if($i!=3)
    {
        echo $i;
    }
    /*else break; - добавляем если нужно приостановить цикл*/
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2016, 10:12
Помогаю со студенческими работами здесь

Найти отрицательное число и после отрицательное число заменить все элемент на нули
Найти отрицательное число и после отрицательное число заменить все элемент на нули

В каких ситуациях можно НЕ проверять предусловие?
В каких ситуациях можно НЕ проверять предусловие?

Система уравнений с использованием операторов цикла (счётчк, предусловие, постусловие)
Здравствуйте. Нужно программно решить систему с использованием трёх видов операторов цикла...

Найдите пару значений, при которых предусловие выполняется, а постусловие — нет
int area(int length, int width) // Вычисляет площадь прямоугольника; // предусловия: аргументы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru