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
Форумы портала PHP.SU :: Версия для печати :: Циклы
Форумы портала PHP.SU » Разное » Корзина » Циклы

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

1. Cybergoth - 11 Ноября, 2010 - 03:13:10 - перейти к сообщению
Здравствуйте, только начал изучать нормально php, проблема пока только в циклах, все никак с ними не получ. подскажите пожалуйста, и если можно с подробным пояснением что и как в цикле.
Сколько раз повторится данный цикл?
PHP:
скопировать код в буфер обмена
  1. $a = array(1, 2, 3, 'abc', 4);
  2. $b = 51;
  3. while(is_numeric($b)) {
  4. $b = next($a);
  5. }
2. RomAndry - 11 Ноября, 2010 - 08:35:48 - перейти к сообщению
Все покажет простейший дебаг
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.  
3. Petro - 11 Ноября, 2010 - 09:15:06 - перейти к сообщению
is_numeric - определяет, является ли переменная числом или числовой строкой.
Возвращает TRUE, если var является числом или числовой строкой, FALSE - в ином случае

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

* 2
* 3
* abc
* 4
*
*
4. Uchkuma - 11 Ноября, 2010 - 09:36:34 - перейти к сообщению
Cybergoth, Petro, читайте внимательней описание функции next.
Цитата:
Перед тем, как возвратить значение элемента массива, эта функция передвигает его внутренний указатель на одну позицию вперёд

И вообще скрипт построен неправильно. Обход массива необходимо осуществлять функцией foreach, а уже в теле цикла проверять на is_numeric. Чтобы прервать цикл, используется конструкция break.
5. Petro - 11 Ноября, 2010 - 09:49:05 - перейти к сообщению
Спасибо.
6. Cybergoth - 11 Ноября, 2010 - 20:46:22 - перейти к сообщению
и ещё вопрос если можно, почему получ. данный результат?
Выведите в восьмеричной системе числа от 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;
7. Uchkuma - 11 Ноября, 2010 - 21:33:17 - перейти к сообщению
Cybergoth, где тут результат? И результат чего?
8. Cybergoth - 13 Ноября, 2010 - 03:09:52 - перейти к сообщению
Ну если прописать все данные числа через 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. ?>
9. DlTA - 13 Ноября, 2010 - 03:46:46 - перейти к сообщению
Cybergoth пишет:
и ещё вопрос если можно, почему получ. данный результат?
Выведите в восьмеричной системе числа от 10 до 20 (echo 010; echo 011; echo 012; ...
echo 019; echo 020;) Объясните результат.
а как это относится к циклам? что у Вам до Echo 010;?
10. wrpoint - 13 Ноября, 2010 - 08:14:35 - перейти к сообщению
Cybergoth пишет:
Здравствуйте, только начал изучать нормально php, проблема пока только в циклах, все никак с ними не получ. подскажите пожалуйста, и если можно с подробным пояснением что и как в цикле.

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

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

Спасибо КЭП. Подмигивание Я как раз таки в данный момент и учусь по видео урокам + многие книги прочитал (точнее за последних двое суток прочитал много литературы, щас вроде бы всё понятно стало).

 

Powered by ExBB FM 1.0 RC1