Цикл PHP с Fwrite () и записью в файл

У меня уже есть цикл, который печатает «mason is spelled m a s o n» в текстовый файл с именем 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>";

?>

Вам нужно, чтобы ваш Десятичное представление ... тоже находился внутри файла result.txt?

Gratien Asimbahwe 16.10.2018 20:42

да, это основная проблема, с которой я сталкиваюсь

yes indeed 16.10.2018 21:05
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
770
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы хотите, чтобы он был после 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;

?>

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

Другие вопросы по теме