Циклы ДЛЯ и строк

#php

#php

Вопрос:

Ну, я хочу что-то вроде этого:

     for($i = 1; $i <=50; $i  ){
    $string_$i = "hello" . $i;
    }
echo $string_1 . "<br>";
echo $string_2 . "<br>";
echo $string_50;
  

Что-то вроде этого цикл со строками, результат должен быть таким:

 1
2
50
  

Спасибо всем!!

Комментарии:

1. Он пытается использовать переменную как часть имени переменной.

2. Проблема заключается в обычной ошибке php «Ошибка синтаксического анализа: синтаксическая ошибка, неожиданная переменная T_VARIABLE в /var/www/dominio/proceso.php в строке 4 » но теперь получен ответ и найдено решение, еще раз спасибо!!

3. Если вы использовали решение, пожалуйста, примите его. Это гарантирует, что в будущем на ваши вопросы будут даны быстрые ответы.

4. Напишите мне это: «Вы можете принять ответ через 6 минут»

5. Ах, все ответили слишком быстро. 🙂 Да, существует ограничение по времени, чтобы убедиться, что у людей есть время предоставить альтернативные ответы, чтобы вы не приняли первый попавшийся халтурный ответ, который работает.

Ответ №1:

Почему бы не использовать массив?

 for($i = 1; $i <=50; $i  ){
     $string[$i] = "hello" . $i;
}
echo $string[1] . "<br>";
echo $string[2] . "<br>";
echo $string[50];
  

Комментарии:

1. Ты опередил меня на две секунды! Ha!

Ответ №2:

Другим решением является использование array_map

 <?php
   function hello($a){
     return "hello" . $a;
   }
  $string = array_map("hello ", range(1, 50));
   var_dump($arr);

?>
  

затем вызовите:

 echo $string[1] . "<br>";
echo $string[2] . "<br>";
  

и т. д

Живой пример кодирования:

http://codepad.org/p5T31pua

Ответ №3:

Используйте массив:

 for($i = 1; $i <=50; $i  ) {
    $string[$i] = "hello" . $i;
}
echo $string[1] . "<br>";
echo $string[2] . "<br>";
echo $string[50];
  

Ответ №4:

Вы могли бы выполнить то, что хотите, с:

 ${"string_$i"} = "hello" . $i;
  

Но то, что вы действительно должны использовать, это массив:

 $string[$i] = "hello" . $i;
  

С этим легче работать после вашего цикла. (Используйте echo implode("<br>",$string); вместо утомительной цепочки конкатенации.)

Ответ №5:

Вы можете сказать ${string_.$i} = "hello" . $i; , если вам действительно нужно. Но было бы намного лучше избежать этого и использовать вместо этого массив.

Ответ №6:

используйте массивы

 for($i = 1; $i <=50; $i  ){
    $string[$i] = "hello" . $i;
}
echo $string[1] . "<br>";
echo $string[2] . "<br>";
echo $string[50];