Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Циклы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1] 

> Без описания
Cybergoth
Отправлено: 11 Ноября, 2010 - 03:13:10
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Здравствуйте, только начал изучать нормально php, проблема пока только в циклах, все никак с ними не получ. подскажите пожалуйста, и если можно с подробным пояснением что и как в цикле.
Сколько раз повторится данный цикл?
PHP:
скопировать код в буфер обмена
  1. $a = array(1, 2, 3, 'abc', 4);
  2. $b = 51;
  3. while(is_numeric($b)) {
  4. $b = next($a);
  5. }
 
 Top
RomAndry Администратор
Отправлено: 11 Ноября, 2010 - 08:35:48
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




Все покажет простейший дебаг
PHP:
скопировать код в буфер обмена
  1.  
  2.    $a = array(1, 2, 3, 'abc', 4);
  3.    $b = 51;
  4.    while(is_numeric($b)) {
  5.      echo '<LI>'.next($a);
  6.    }
  7.  
 
My status
 Top
Petro
Отправлено: 11 Ноября, 2010 - 09:15:06
Post Id



Гость


Покинул форум
Сообщений всего: 126
Дата рег-ции: Март 2010  


Помог: 2 раз(а)




is_numeric - определяет, является ли переменная числом или числовой строкой.
Возвращает TRUE, если var является числом или числовой строкой, FALSE - в ином случае

Вопрос: почему же тогда выводит 'abc' это же не число и не числовая строка.

* 2
* 3
* abc
* 4
*
*


-----
Нет ничего более постоянного, чем временное.
 
 Top
Uchkuma
Отправлено: 11 Ноября, 2010 - 09:36:34
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




Cybergoth, Petro, читайте внимательней описание функции next.
Цитата:
Перед тем, как возвратить значение элемента массива, эта функция передвигает его внутренний указатель на одну позицию вперёд

И вообще скрипт построен неправильно. Обход массива необходимо осуществлять функцией foreach, а уже в теле цикла проверять на is_numeric. Чтобы прервать цикл, используется конструкция break.
 
 Top
Petro
Отправлено: 11 Ноября, 2010 - 09:49:05
Post Id



Гость


Покинул форум
Сообщений всего: 126
Дата рег-ции: Март 2010  


Помог: 2 раз(а)




Спасибо.


-----
Нет ничего более постоянного, чем временное.
 
 Top
Cybergoth
Отправлено: 11 Ноября, 2010 - 20:46:22
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




и ещё вопрос если можно, почему получ. данный результат?
Выведите в восьмеричной системе числа от 10 до 20 (echo 010; echo 011; echo 012; ...
echo 019; echo 020;) Объясните результат.
PHP:
скопировать код в буфер обмена
  1. echo 010;
  2. echo 011;
  3. echo 012;
  4. echo 013;
  5. echo 014;
  6. echo 015;
  7. echo 016;
  8. echo 017;
  9. echo 018;
  10. echo 019;
  11. echo 020;
 
 Top
Uchkuma
Отправлено: 11 Ноября, 2010 - 21:33:17
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




Cybergoth, где тут результат? И результат чего?
 
 Top
Cybergoth
Отправлено: 13 Ноября, 2010 - 03:09:52
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Ну если прописать все данные числа через echo, начиная с 010, и до 020 (без переноса br), результат будет таким 891011121314151116, откуда взялось 89, и т.д.?! А?!
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. echo 010;
  3. echo 011;
  4. echo 012;
  5. echo 013;
  6. echo 014;
  7. echo 015;
  8. echo 016;
  9. echo 017;
  10. echo 018;
  11. echo 019;
  12. echo 020;
  13. ?>
 
 Top
DlTA
Отправлено: 13 Ноября, 2010 - 03:46:46
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




Cybergoth пишет:
и ещё вопрос если можно, почему получ. данный результат?
Выведите в восьмеричной системе числа от 10 до 20 (echo 010; echo 011; echo 012; ...
echo 019; echo 020;) Объясните результат.
а как это относится к циклам? что у Вам до Echo 010;?
 
 Top
wrpoint
Отправлено: 13 Ноября, 2010 - 08:14:35
Post Id



Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Cybergoth пишет:
Здравствуйте, только начал изучать нормально php, проблема пока только в циклах, все никак с ними не получ. подскажите пожалуйста, и если можно с подробным пояснением что и как в цикле.

Говорят, что лучше один раз увидеть, чем 100 раз будут объяснять. Есть очень хорошие, однако любительские, видеоуроки на данном сайте: http://jolly-wind[dot]ru/main , где все очень добротно показано, где, что и почему. И не надо забывать про книги о PHP, данный портал www.php.su посвященный PHP и многое, многое другое.
 
 Top
Cybergoth
Отправлено: 13 Ноября, 2010 - 11:38:08
Post Id



Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




DlTA пишет:
а как это относится к циклам? что у Вам до Echo 010;?

нет, я выше уже написал, что если можно задам ещё вопрос. Мне в принципе без разницы, могу наплодить кучу тем с каждым вопросом, но все же как я считаю лучше все в одной спросить, тем более это раздел "Корзина".
wrpoint пишет:
Говорят, что лучше один раз увидеть, чем 100 раз будут объяснять. Есть очень хорошие, однако любительские, видеоуроки на данном сайте: http://jolly-wind[dot]ru/main , где все очень добротно показано, где, что и почему. И не надо забывать про книги о PHP, данный портал www.php.su посвященный PHP и многое, многое другое.

Спасибо КЭП. Подмигивание Я как раз таки в данный момент и учусь по видео урокам + многие книги прочитал (точнее за последних двое суток прочитал много литературы, щас вроде бы всё понятно стало).
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Корзина »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB