Цикл PHP с Fwrite () и запись в файл - PullRequest
0 голосов
/ 16 октября 2018

У меня уже есть цикл, который печатает "Мейсон пишется Мейсон" в текстовый файл Results.txt.

Сейчас я работаю над созданием цикла для печати "Десятичное представление m равно 109. Двоичное представление m равно 1101101 Шестнадцатеричное представление m равно 6d Восьмеричное представление m равно 155" для каждой буквы в имени.Я разобрался с этой частью, но мне нужно сделать цикл, который проходит через каждую букву в имени, а затем записывает представление в results.txt.

Я думаю, мне нужно использоватьЦикл foreach похож на тот, который я использовал для первого оператора fwrite.Я не могу понять, как настроить это все же.Вот что у меня пока так:

<?php
$name = "mason";
$nameLetterArray = str_split($name);

$results = fopen("results.txt", "w");

$output = " ";

foreach ($nameLetterArray as $nameLetter) {
$output .= $nameLetter." ";
}

fwrite($results, $name." is spelt ".$output);
fclose($results);

//here is what i need the loop to do for each letter in the name and save to 
//.txt file
$format = "Decimal representation of $nameLetterArray[0] is %d";
echo sprintf($format, ord($nameLetterArray[0]));
echo "<br>";
$format = "Binary representation of $nameLetterArray[0] is %b";
echo sprintf($format, ord($nameLetterArray[0]));
echo "<br>";
$format = "Hexadecimal representation of $nameLetterArray[0] is %x";
echo sprintf($format, ord($nameLetterArray[0]));
echo "<br>";
$format = "Octal representation of $nameLetterArray[0] is %o";
echo sprintf($format, ord($nameLetterArray[0]));
echo "<br>";

?>

1 Ответ

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

Если вы хотите его после m a s o n, вы можете написать еще один цикл следующим образом:

<?php
$name = "mason";
$nameLetterArray = str_split($name);

$results = fopen("results.txt", "w");

$output = " ";

foreach ($nameLetterArray as $nameLetter) {
$output .= $nameLetter." ";
}

foreach($nameLetterArray as $nameLetter){

    $format = "Decimal representation of $nameLetter is %d";
    $output.="\n\n".sprintf($format, ord($nameLetter));

    $format = "Binary representation of $nameLetter is %b";
    $output.="\n\n".sprintf($format, ord($nameLetter));

    $format = "Hexadecimal representation of $nameLetter is %x";
    $output.="\n\n".sprintf($format, ord($nameLetter));

    $format = "Octal representation of $nameLetter is %o";
    $output.="\n\n".sprintf($format, ord($nameLetter));

}


//then write the result into the file

fwrite($results, $name." is spelt ".$output);
fclose($results);

//if you want to see the output in the browser replace the \n by <br>
$output=str_replace("\n","<br>",$output);
echo $output;

?>

Я попробовал это, и это работает.пожалуйста, прочитайте даже комментарии внутри кода

...