PHP - Как записать результат цикла for в файл - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь выполнить цикл for через каждую часть моего массива и распечатать сообщение о том, что "Мейсон - это Мейсон".Я понимаю, как записать в файл, и я понимаю, как использовать цикл for для печати каждого элемента в массиве, но я не понимаю, как получить данные из вывода цикла for в переменную, которую я могу поместить в мою функцию fwrite.,Вот что у меня пока так:

<?php
$name = "mason";
$nameLetterArray = str_split($name);
$results = fopen("results.txt", "w");
fwrite($results, $forLoopOutput); //here forLoopOutput would be the "m a s o n" part
fclose($results);

$length = count($nameLetterArray);
for ($i = 0; $i < $length; $i++) {
print $nameLetterArray[$i];
}

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Поскольку вы уже практически написали код, нужно сделать всего несколько изменений ...

$name = "mason";
$nameLetterArray = str_split($name);
$results = fopen("results.txt", "w");
// Create output string to save multiple writes
$output = "";
$length = count($nameLetterArray);
for ($i = 0; $i < $length; $i++) {
     //print $nameLetterArray[$i];
    $output .= $nameLetterArray[$i]." ";  // Add letter followed by a space
}
// Write output
fwrite($results, $name." is spelt ".$output); 
// Close file
fclose($results);

Вы также можете использовать foreach() в цикле вместо

$name = "mason";
$nameLetterArray = str_split($name);
$results = fopen("results.txt", "w");
fwrite($results, $name." is spelt "); 
// Create output string to save multiple writes
$output = "";
foreach ($nameLetterArray as $nameLetter) {
     //print $nameLetterArray[$i];
    $output .= $nameLetter." ";  // Add letter followed by a space
}
// Write output
fwrite($results, $name." is spelt ".$output); 
// Close file
fclose($results);

Или (наконец) вы можете использовать implode() вместо цикла ...

$output = implode(" ", $nameLetterArray);
0 голосов
/ 16 октября 2018

Вы можете использовать несколько fwrite () для файла, и в конце вы закроете указатель файла, например:

<?php
$name = "mason";
$nameLetterArray = str_split($name);
$results = fopen("results.txt", "w");
fwrite($results, $forLoopOutput);

// Here you'll write each letter:
for ($i = 0; $i < count($nameLetterArray); $i++) {
  fwrite($results, $nameLetterArray[$i];
}

fclose($results);
?>
...