Я играл с функцией ввода php, которая создаст HTML-страницу для игры, что-то вроде вики.Все идет хорошо и прекрасно, но при попытке построить массив в строку он возвращает несколько забавных ошибок.
Это происходит со всеми, кто использует массив, и я выхватил некоторый код, который работает независимо отсэкономить мне время, но просто не могу понять это.Я использую терминал Linux для запуска скрипта, и когда я устанавливаю его в эхо-цикл внутри цикла foreach, он делает это просто замечательно, просто не будет, когда я пытаюсь встроить его в файл HTML.
Здесьэто входной скрипт:
echo "\nHow many ranks were there (number)?:\n";
$facInputRankLimit = readline();
echo "Please read carefully and supply the ranks in descending order (HIGHEST > LOWEST):\n";
$facInputRankCount = 0;
$facInputRankString = "";
while ($facInputRankCount < $facInputRankLimit) {
echo "Enter a rank:\n";
$facInputRanks[$facInputRankCount] = readline();
$facInputRankCount++;
}
foreach ($facInputRanks as $facInputRankList) {
$facInputRankString .= $facInputRankList.PHP_EOL;
}
Затем я встроу его в многострочное эхо (вместо добавления каждого отдельного блока кода):
$facBuildPage = <<<EOT
<?php
\$facRankLimit = '$facInputRankLimit';
\$facRanks = '$facInputRankString';
include('faction2.html');
?>
EOT;
Переменные сПосле этого обратная косая черта будет встроена в «$ facFileName.php» и будет набором переменных, вводимых с помощью этого сценария (input2.php), каждая из которых будет также включать в себя одну и ту же HTML-страницу.
В довершениеполучаю действительно странные результаты ... если я создаю 5 рангов, каждый из которых "1 2 3 4 5", я на самом деле получаю "1 2 3" с двумя вертикальными разрывами строк между ними.
Редактировать: Отрезать некоторыея не хотел рисковать, добавляя недостаточно информации, но оказалось, что я добавил немного.
Например, вводимые данные:
$facInputRankLimit = 5;
$facInputRanks[1] = 1; -> $facInputRanks[5] = 5;
Но он печатает:
1<br><br>2<br><br>3
@ Deepkak - относительный код в faction2.html:
<div class="fpDivisions fpBox">
<span class="header">Ranks</span><br>
<?php
$facRankCount = 0;
while ($facRankCount < $facRankLimit) {
echo $facRanks[$facRankCount].'<br>';
$facRankCount++;
}
?>
</div>