Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Начать цикл с текстовой переменной цикла
 
 автор: Владимир55   (03.04.2008 в 01:21)   письмо автору
 
 

Есть обычный цикл

for ($i = 0; $i <= 220; $i++)

Он вырабатывает последовательность переменных $i в виде 0, 1, 2, 3, ... 220.

И каждая из этих переменных мне нужна, ибо под каждую из них подстроено соответствующее выражение. Все это настроено нужным для скрипта образом, так что менять здесь что-то весьма не желательно.

Но сейчас выяснилось, что на самом деле мне нужна немного другая последовательность переменных $i, а именно такая:

$i = index
$i = 0
$i = 1
$i = 2
$i = 3
...
$i = 220

То есть, цикл должен стартовать не с $i = 0, а с $i = index


Можно ли как-то это осуществить?

   
 
 автор: Atheist   (03.04.2008 в 01:26)   письмо автору
 
   для: Владимир55   (03.04.2008 в 01:21)
 

Просто используй значение до цикла епт

   
 
 автор: mihdan   (03.04.2008 в 01:40)   письмо автору
 
   для: Владимир55   (03.04.2008 в 01:21)
 


<?
$i
[0] = 'index';
for (
$i = -1$i <= 220$i++)  {
   echo 
$i.'<br />';
}
?>

   
 
 автор: vitali   (03.04.2008 в 08:22)   письмо автору
 
   для: mihdan   (03.04.2008 в 01:40)
 

Каков вопрос, таков и ответ от mihdan:
строкой $i[0] = 'index'; переменную $i определии как array
затем циклом $i переопределии в integer
Как итог получили не то, что хотели. Одним словом развлеклись.
Что же хотел Автор ??

   
 
 автор: Владимир55   (03.04.2008 в 10:09)   письмо автору
 
   для: vitali   (03.04.2008 в 08:22)
 

Вопрос задавался ночью, а утром ответ сам пришел: надо задать цикл с другой переменной и в диапазоне от минус 1 до 220. При этом если переменная цикла равна "-1", то $i = "index", а в остальных случаях $i равняется переменной цикла.

И родится искомая последовательность $i...

   
 
 автор: mihdan   (03.04.2008 в 15:09)   письмо автору
 
   для: vitali   (03.04.2008 в 08:22)
 

>строкой $i[0] = 'index'; переменную $i определии как array
Определил массив $i, первый элемент которого - "index"

>затем циклом $i переопределии в integer
это где такое?

   
 
 автор: Atheist_?   (03.04.2008 в 15:40)   письмо автору
 
   для: mihdan   (03.04.2008 в 15:09)
 

В твоем коде. Все, что до первого знака ";" в for - начальные условия. В нем ты уже переопределяешь переменную.

   
 
 автор: mihdan   (03.04.2008 в 15:58)   письмо автору
 
   для: Atheist_?   (03.04.2008 в 15:40)
 

Точняк - ступил )))


<?
$arr
[0] = 'index';
for (
$i 0$i <= 220$i++)  {
   
$arr[] = $i;
}
foreach (
$arr as $i) echo $i.'<br />';
?>



<?
for ($i = -1$i <= 220$i++) {
    
$y = ($i == -1) ? 'index' $i;
    echo 
$y.'<br />';
}
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования