#php
#php
Вопрос:
Я проверил и не нашел ошибок:
$_SESSION['variable'] = 2
$preparado[1] = "Miguel";
$preparado[2] = "Carlos";
$segundo[1]= "Beltran";
$segundo[2] = "Sanz";
for($i = 1; $i <=$_SESSION['variable']; $i ){
$listo[$i] = $preparado1[$i] . $segundo[1];
}
for($i = ($_SESSION['variable'] 1) ; $i <= ($_SESSION['variable'] * 2); $i ){
for($n = 1; $n <=$_SESSION['variable']; $n ){
$listo[$i] = $preparado1[$n] . $segundo[2];
}
}
for($i = 1;$i <=$_SESSION['variable'] * $_SESSION['extension']; $i ){
echo $final[$i] . "</br>";
}
Я получаю это:
MiguelBeltran
CarlosBeltran
CarlosSanz
CarlosSanz
Но я должен получить это:
MiguelBeltran
CarlosBeltran
MiguelSanz
CarlosSanz
Спасибо!!
Ответ №1:
Я предполагаю, что вы намеревались
$preparado[0] = "Miguel"; // rather than [1]
$preparado[1] = "Carlos";
Комментарии:
1. Настоящая проблема исходит от ваших вложенных
for
циклов. Первый переходит от i 1 к i * 2 — это нормально (немного необычно, но это работает). Однако, для каждого возможного значения i вы перебираете все значения n в диапазоне от 1 доvariable
. Учитывая, как вы сохраняете результат, я совершенно уверен, что это не то, что вы предполагали. Поэтому продолжайте проверять логику вашего цикла.
Ответ №2:
Опубликованный вами код не соответствует представленному вами результату:
-
Вы никак не можете получить
Miguel
в своем выводе, как вы делаете:$preparado[1] = "Miguel"; $preparado[1] = "Carlos";
таким образом, единственная переменная, которой вы присваиваете
Miguel
, перезаписывается в следующей строке. -
Переменной нет
$preparado1
.
Вам следует опубликовать код, который вы фактически использовали для генерации полученного результата.
Комментарии:
1. Это типографская ошибка, но в исходном коде это правильно, потому что генерируется другим циклом.
Ответ №3:
Учитывая:
$_SESSION['variable'] = 2
$preparado[1] = "Miguel";
$preparado[2] = "Carlos";
$segundo[1]= "Beltran";
$segundo[2] = "Sanz";
Используйте:
for ($i = 1; $i <= $_SESSION['variable']; $i) {
for ($j = 1; $j <= $_SESSION['variable']; $j) {
$listo[] = $preparado[$j].$segundo[$i];
}
}
Комментарии:
1. не работает, и $listo[] следует продолжить с первого цикла, спасибо!!
Ответ №4:
$preparado[1] = "Miguel";
$preparado[1] = "Carlos";
$segundo[1]= "Beltran";
$segundo[2] = "Sanz";
Вы назначили $preparado[1]
дважды.
Комментарии:
1. Это типографская ошибка, но в исходном коде это правильно, потому что генерируется другим циклом.