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 :: Проблема с отображением переменной цикла внутри цикла $i+1

 PHP.SU

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


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

> Без описания
LShark
Отправлено: 15 Декабря, 2012 - 18:10:14
Post Id



Частый гость


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


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




Есть цикл.

PHP:
скопировать код в буфер обмена
  1. for($i = 0; $i < count($_FILES['m']['name']); $i++)
  2. {
  3. echo "<br> &nbsp; &nbsp; &nbsp; &nbsp; Окно загрузки № " . 1+$i . ": " . $tema . ". ";
  4. }
  5.  

Конечно, там не только этот оператор вывода, однако если я его оставляю так - то все строки в цикле выстраиваются в 1 строку, как будто <br> не существует. Причем пропадает ВСЕ до $i+1 - выводится такое:


Вместо понятно чего:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Окно загрузки № 1: .
  2. Окно загрузки № 2: .
  3. Окно загрузки № 3: .
  4. Окно загрузки № 4: .


Если оставить просто $i (т.е. не прибавлять +1), то все нормально отображается (с переносами), однако мне необходимо, чтобы нумерация тут отображалась с 1, а не с 0, а если цикл сделать с 1, а не с 0, то во всех обращениях к массиву придется вписать $i-1 , а это туева хуча строк...

Не пойму, что не срабатывает?

ЗЫ. Я понимаю, что могу определить еще одну переменную, прибавить к ней 1 и выводить ее, но неужели нет другого способа, без лишней переменной?
ЗЗЫ. PHP 5.0
(Добавление)
Пока сделал

CODE (htmlphp):
скопировать код в буфер обмена
  1. echo "<br> Окно загрузки  №";
  2. echo $i+1 . ": " . $tema . ". ";

Выводит как надо, но что за?!

(Отредактировано автором: 15 Декабря, 2012 - 18:18:17)



-----
Истина прежде всего в том, что...
 
 Top
Toxa
Отправлено: 15 Декабря, 2012 - 18:24:02
Post Id



Посетитель


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


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

[+]




-----
Удобный сервис для хранения файлов
 
 Top
LShark
Отправлено: 15 Декабря, 2012 - 18:26:15
Post Id



Частый гость


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


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




Да, работает этот вариант... спс.

Но все таки ПОЧЕМУ?

(Отредактировано автором: 15 Декабря, 2012 - 18:26:54)



-----
Истина прежде всего в том, что...
 
 Top
DelphinPRO
Отправлено: 15 Декабря, 2012 - 20:04:51
Post Id



Активный участник


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


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




LShark пишет:
Но все таки ПОЧЕМУ?


боюсь ошибитьcя, но по-моему дело в приоритете выполнения операторов.

PHP:
скопировать код в буфер обмена
  1. // имеем:
  2. 'one' . 1 + $i . 'two'
  3. // где $i - числовое значение.
  4. // первое действие - конкатенация ('one' . 1), получаем:
  5. 'one1' + $i . 'two'
  6. // второе действие - сложение ('one1' + $i).
  7. // Здесь строка складывается с числом, поэтому включается
  8. // приведение типов к int. Строка 'one1' приводится
  9. // к значению «0» и выполняется сложение: 0 + 1, получаем:
  10. 1 . 'two'
  11. // ну и конечный результат:
  12. '1two'


PS. хотелось бы от профессионалов услышать мнение по этому поводу )

(Отредактировано автором: 15 Декабря, 2012 - 20:07:15)



-----
Чем больше узнаю, тем больше я не знаю.
 
 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