Чат PHP-разработчиков
Переменные в PHP

Переменные в PHP

Всем привет. Сегодня разговор пойдёт о переменных в языке PHP. О том, что это такое и как с этим работать читайте ниже.

Начнём с определения.
Переменная – это какое-то значение, которому соответствует определённое имя.
Как в математике, x = 2 – переменная x равна двум. Здесь x – имя переменной, 2 – её значение.

В PHP переменные начинаются со знака "$".
Например: $x.

Чтобы присвоить переменной значение, используется знак "=", пример:

$x = 2;

Эта операция так и называется – присваивание переменной.

Помимо этого, переменную можно просто объявить, вот так:

$y;

Сейчас это выглядит довольно бессмысленно. Но позже мы обязательно рассмотрим, для чего это может применяться. Пока что просто запомните, что такое возможно, и это называется объявлением переменной.

Разумеется, переменной можно присвоить и результат целого выражения. Пример:

$sum = 5 + 10;

А затем использовать её:

echo $sum;

Также мы можем использовать переменные внутри других выражений:

$x = 2 + 3;
$y = ($x * 2) / ($x + 1);

echo $y;

Стоит обратить внимание, что имена переменных в PHP являются регистрозависимыми. То есть $x и $X – две разные переменные.

Также сразу хотелось бы сказать об именовании переменных. Это один из важнейших навыков хорошего программиста, которым начинающие поначалу пренебрегают. Так вот, переменным нужно всегда давать имена, которые будут явно говорить о том, что же именно содержится в этой переменной в данный момент. Примеры хороших имён:

$subscriberEmail = ‘user@email.com’;
$catName = ‘Барсик’;
$dayOfWeek = ‘среда’;

Пример плохого имени:

$result = $b ** 2 - 4 * a * c; // более подходящее название - $discriminant

Кроме того, есть определённые правила, которые не влияют на работоспособность кода, но которых придерживаются все программисты на PHP. Это позволяет легко читать код других программистов, а это очень важно, так как над крупными проектами работает всегда несколько человек, и им обязательно приходится читать код друг друга. Повторюсь, эти правила чрезвычайно важны, потому что в будущем, когда Вы придёте работать на работу, Ваш код будут читать и изменять другие программисты, подумайте о них уже сейчас. Итак, перечислим эти правила.

  • Имя переменной должно состоять только из английских слов, и уж тем более только из букв английского алфавита.
    Никаких $imyaKota или тем более $имяКота, строго $catName
  • Имя переменной должно начинаться с маленькой буквы, а следующие слова, содержащиеся в её имени, должны начинаться с большой буквы. Этот стиль называется СamelCase, или "ВерблюжийРегистр"
    Никаких $catname или $CatName, только $catName.
Присоединяйтесь к нам в ВКонтакте и в Facebook, чтобы не пропустить новые уроки. А также вступайте в наш чат PHP-разработчиков в Telegram.
Домашнее задание
  • Присвойте переменным $a и $b значения 3 и 5 соответственно. С помощью третьей переменной $c поменяйте значения этих переменных (в $a будет 5, а в $b будет 3)
  • Проделайте тоже самое, но без использования третьей переменной, при условии что в качестве значений могут быть только целые числа
Онлайн обучение PHP
Путь с полного нуля до джуниора!
Начать бесплатно
Читайте также
Курс программирования на PHP
Подготовка до уровня устройства на работу!
Начать бесплатно
Комментарии (90)


morok.black
<?php
echo 'Решение без переменной.', '<br>';
echo 'Условия :', '<br>';
$a = 3;
$b = 5;
echo 'a = ', $a, '<br>';
echo 'b = ', $b, '<br>', '<br>';
$b = $a * $b;
echo 'Решение :', '<br>';
echo 'a = ', $a = $b / $a, '<br>';
echo 'b = ', $b = $b / $a, '<br>', '<br>', '<br>';
echo 'Решение с переменной.', '<br>';
echo 'Условия :', '<br>';
$c = 3;
$d = 5;
echo 'c = ', $c, '<br>';
echo 'd = ', $d, '<br>', '<br>';
$clipboard = $c;
echo 'Решение :', '<br>';
echo 'c = ', $c = $d, '<br>';
echo 'd = ', $d = $clipboard;
ivashkevich

Отлично! А ещё можно за счёт сложения/вычитания решить задачу:

$a = 3;
$b = 5;
$a = $a + $b; //a = 8
$b = $a - $b; //a = 8, b = 8-5 = 3
$a = $a - $b; //a = 8-3 = 5
Anril34
$a = 10;
$b = 5;
$b = $b - $a;
$a = $a + $b;
$b = $a - $b;
echo $a, $b;
ivashkevich

И так тоже можно =)

phenomg
$a = 2;
$b = 3;
echo "Решение без использования перменной: <br/>";

echo "a = ".$a."<br/>";
echo "b = ".$b."<br/>";

$b = $a + $b;
$a = $b - $a;
$b -= $a;

echo "a = ".$a."<br/>";
echo "b = ".$b."<br/>";

$a = 2;
$b = 3;

echo "Решение с использованием перменной: <br/>";

echo "a = ".$a."<br/>";
echo "b = ".$b."<br/>";

$с = $a;
$a = $b;
$b = $с;

echo "a = ".$a."<br/>";
echo "b = ".$b;
ivashkevich

Отличный вариант домашнего задания!

vityan97@gmail.com

Мне кажется здесь не нужны двойные ковычки, если код написан таким способом, читал что двойные ковычки работают медленнее на 30-40%, а если уж двойные ставить, то можно в них же и определять переменную. Или это не корректно?

ivashkevich

Они работают медленнее именно из-за того что внутри двойных кавычек происходит поиск переменных, а внутри одинарных - нет.

Простой пример:

$x = 2;
echo "x = $x"; //выведет x = 2
echo 'x = $x'; //выведет x = $x

Зависит от ситуации, если в строке нужно вывести переменную - то можно использовать двойные. Если же это просто строка - то только одинарные, чтобы не тратить ресурсы на поиск переменных в такой строке.

vityan97@gmail.com

Вот моё решение

echo "Замена а и b с помошью переменной с<br/>";
$a=3;
$b=5;
echo "a=$a b=$b<br/>";
$c=$a;
$a=$b;
$b=$c;
echo "a=$a b=$b<br/>";
echo "Замена a и b без помощи переменных<br>";
$a=3;
$b=5;
echo "a=$a b=$b<br>";
$a=$a*$b;
$b=$a/$b;
$a=$a/$b;
echo "a=$a b=$b";
ivashkevich

Отлично :)

SBTesla
<?php
echo 'Домашнее задание'.'<br>';
// задаем значения переменным
$a = 3;
$b = 5;
// выводим значения переменных
echo " значение переменной а:".$a.'<br>';
echo " значение переменной b:".$b.'<br>';
// изменяем значение переменных а и б
$c = $b - $a; // отнимаем 5- 3  в переменной с
$a = $c + $a;// прибавляем к переменной а 2
$b = $b - $c;// отнимаем из переменной 2
// выводим  сумму измененых переменых
echo 'значение переменной а изменилось на:'.$a.'<br>';
echo 'значение переменной б изменилось на:'.$b.'<br>';
serb2017
<?php
echo "Начальные значения";
$a=2;
$b=5;
echo '<br>','a=', $a , '     b=', $b ;
/*Решение*/
$a = $a * $b ;
$b = $a / $b ;
$a = $a / $b ;
echo '<br>' , "Конечные значения";
echo '<br>','a=', $a , '     b=', $b ;

На экране:
Начальные значения
a=2 b=5
Конечные значения
a=5 b=2

ivashkevich

Очень хорошо, этот вариант еще не предлагали)

markEvillive
<h1>Изменение значения переменных</h1>
      <?php
        $a = 3;
        $b = 5;
        echo "<h3>Исходные значения </h3>";
        echo "a = $a , <br>";
        echo "b = $b , <br> ";
        echo "<h3>Результат</h3>";
        $c = $a + $b;
        echo "c = $c <br>";
        $a = $c - $a;
        $b = $c - $b;
        echo "a = $a <br>";
        echo "b = $b";
      ?>
ivashkevich

Зачем что-то суммировать и вычитать? Можно просто временно положить в $c значение $a, в $a присвоить $b, в $b положить значение из $c.

Сложение и вычитание могут понадобиться для второй задачи, но не для первой. Это лишнее усложнение.

P.S. в HTML по-правильному после тега <h1> должен идти <h2>, а "внутри" уже <h3>. То есть должен соблюдаться порядок вложенности. Можете почитать об этом в уроке про заголовки.

Dasgonder
$a = 3;
$b = 5;
echo "a={$a} b={$b}\n";
$c = $a;
$a = $b;
$b = $c;
echo "a={$a} b={$b}";

Просто меняем местами, верно? Не вычисляем )

$a = 3;
$b = 5;
echo "a={$a} b={$b}\n";
[$a,$b] = [$b,$a];
echo "a={$a} b={$b}";
ivashkevich

Отлично, что сказать :)

baha

Я изучил д/з других пользователей и решил вот так:

$k = 3;
$m = 5;
echo 'k = ', $k, '<br>';
echo 'm = ', $m, '<br>';
$n = $k * $m;
echo 'k = ', $n / $k, '<br>';
echo 'm = ', $n / $m, '<br>';
echo '<br>';
ivashkevich

Ну вот, прекрасное решение!=)

Koala

Через переменную

        echo '<br>';
        $a = 3;
        $b = 5;
        $c = $a;
        $a = $b;
        $b = $c;
        echo $a ,"<br>", $b;

Без переменной

        echo '<br>';
        $a = 3;
        $b = 5;
        $a = $a + $b;
        $b = $a - $b;
        $a = $a - $b;
        echo $a ,"<br>", $b;

P.S: В начале каждого кода <br> делал одном файле :)

slasva
<?php
$a=3;$b=5;$c=$a+$b;$a=$c-3;$b=$c-5;echo $a;echo $b;echo '<br>';
$a=$b+2;$b=$a-2;echo $a;echo $b;
?>
ivashkevich
  1. Не надо всё в одну строчку.
  2. Код не будет работать, если подставить другие исходные данные.
nemo.dont@gmail.com

После того как выполнила, посмотрела, что прислали другие. Наверное, что-то я сделала не так, но все же пришлю свой вариант, чтобы вы побъяснили.

<?php
echo '№1. Решение с переменной', '<br>';
$a=3;
$b=5;
$c=2;
echo 'a=', $a+$c, '<br>';
echo 'b=', $b-$c, '<br><br>';

echo '№2. Решение без переменной', '<br>';

echo 'a=', $a+2, '<br>';
echo 'b=', $b-2, '<br>';
?>
ivashkevich

Смотрите. В начале мы имеем 2 переменные - $a и $b. Мы должны написать какой-то код, который поменяет значения в этих переменных местами. То есть должно получиться вот так:

<?php
$a = 5;
$b = 9;

// ... здесь нужно придумать что написать

echo $a; // выведет 9
echo $b; // выведет 5

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

nemo.dont@gmail.com

ага, думаю поняла )) я не думала, что переменной можно присвоить выражение, которое содержит ее же. попытка номер 2 ))

echo '№1. Решение с переменной', '<br>';
$a=3;
$b=5;

$c=$a;
$a=$b;
$b=$c;

echo $a, '<br>';
echo $b, '<br><br>';

echo '№2. Решение без переменной', '<br>';

$a=3;
$b=5;

$a=$a+$b;
$b=$a-$b;
$a=$a-$b;

echo $a, '<br>';
echo $b, '<br><br>';
ivashkevich

Ну вот, прекрасное решение! =)
Из замечаний - строки склеиваются с помощью символа "." (точка). И в некоторых местах можно было их вообще не разбивать:

echo '№1. Решение с переменной<br>';
Fox-24

Спасибо за урок:)

<?php
// Начальные значения переменных
$a = 3;
$b = 5;

// Вывод
echo "Пока что переменная А равняется $a, а переменная B равняется $b.<br>";

// Если мы хотим изменить переменную, то сделаем так:
$c = $a + $b;

$a = $c - $a;
$b = $c - $b;

echo "Теперь переменная А равняется $a, а переменная B равняется $b.";

//Если мы хотим изменить переменную без использования переменной С, то сделаем так:

$a = $b + $a;
$b = $a - $b;
$a = $a - $b;

echo "Теперь переменная А равняется $a, а переменная B равняется $b.";
Fox-24

В первом варианте конечно можно и так, но почему-то первое что хочется сделать это сложить или вычесть =))

// Если мы хотим изменить переменную, то сделаем так:
$c = $a;
$a = $b;
$b = $c;

echo "Теперь переменная А равняется $a, а переменная B равняется $b.";
ivashkevich

Отлично! Именно в таком варианте и ожидалось =)

dsokol-ok
<?php

echo 'Вариант с использованием переменной: <br>';

$a = 3;
$b = 5;
echo 'Входные данные: a = ', $a,', b = ', $b, ';<br>';

$c = $a;
$a = $b;
$b = $c;
echo 'Результат: a = ',$a, ', b = ',$b,';<br><br>';

echo 'Вариант без использования переменной: <br>';

$a = 3;
$b = 5;
echo 'Входные данные: a = ', $a,', b = ', $b, ';<br>';

$a = $a + $b;
$b = $a - $b;
$a = $a - $b;
echo 'Результат: a = ',$a, ', b = ',$b,';<br><br>';

echo 'Профит!';
vlad.holomev.03102005@mail.ru

А так можно?

$a=3;
$b=5;
$c=5;
$b=$b-$c;
$b=$a+$b;
$c=2;
$a=$a+$c;
ivashkevich

Что-то как-то сложно. Можно проще - смотрите другие решения.

paradise1983@icloud.com
<html>
<head>
    <title>Иван</title>
    </head>
    <body>
    <h1>Переменные в PHP</h1>
        <h2>Задание 1</h2>
        <p>
        <?php

        $a = 3;
        $b = 5;
        $c = $b;

        echo "a = " . $a . '<br/>';
        echo "b = " . $b . '<br/>';
        echo "a = " . $c . '<br/>';
        echo "b = " . $a . '<br/>';
        ?>
        </p>
                <h2>Задание 2</h2>
        <p>
        <?php

        $a = 3;
        $b = 5;

        echo "a = " . $a . '<br/>';
        echo "b = " . $b . '<br/>';
        echo "a = " . $b . '<br/>';
        echo "b = " . $a . '<br/>';
        ?>
        </p>
    </body>
</html>
ivashkevich

Речь была о другом - смотрите решения выше.

Ros
/*C переменной*/
$a=3;
$b=5;
$c = $a + $b;
$a=$c-$a;
$b=$c-$b;
echo "a=$a b=$b";
/*Без переменной*/
$a=3;
$b=5;
$a=($a+$b);
$b=($a-$b);
$a=($a-$b);
echo "<br>a=$a b=$b";
ivashkevich

Хорошо, но скобки - лишнее.

Apache79
<?php

echo 'Домашнее задание.',' <br>','<br>';
echo 'С дополнительной переменной:','<br>';
$a = 3;
$b = 5;
$c = $a + $b;// c = 8
echo 'a = ', $a,'<br>';
echo 'b = ', $b,'<br>';
echo 'c = ', $c,'<br>';
$a = $c - $a; // 8-3=5 a=5
$b = $c - $b; // 8-5=3 b=3
echo 'Новые значения:','<br>';
echo 'a = ', $a,'<br>';
echo 'b = ', $b,'<br>','<br>';
echo 'Без дополнительной переменной:','<br>';
$a = 3;
$b = 5;
echo 'a = ', $a,'<br>';
echo 'b = ', $b,'<br>';
$a = $a * $b;// 3 * 5=15 a=15
$b = $a / $b;// 15/5=3 b=3
$a = $a / $b;// 15/3=5 a=5
echo 'Новые значения:','<br>';
echo 'a = ', $a,'<br>';
echo 'b = ', $b,'<br>';
ivashkevich

А зачем в примере с дополнительной переменной что-то складывать и вычитать?

Kutkh

А как настроить вывод ошибок, как у вас, я имею ввиду визуальную составляющую?

ivashkevich

Это расширение xdebug. Настраивали в уроке про OpenServer.

Kutkh

ДЗ

// 1 вариант
$a = 3;
$b = 5;

$c = $a;
$a = $b;
$b = $c;

// 2 вариант
$a = 3;
$b = 5;

$a = $a*$b;
$b = $a/$b;
$a = $a/$b;
virtual2018
<?php
$a = 3;
$b = 5;
echo "Исходные данные для первой задачи a = ".$a." b = ".$b.'<br>';
$c = $a;
$a = $b;
$b = $c;
echo "Результат решения a = ".$a." b = ".$b.'<br>';
$a = 2;
$b = 7;
echo "Исходные данные для второй задачи a = ".$a." b = ".$b.'<br>';
$b = $a + $b;
$a = $b - $a;
$b = $b - $a;
echo "Результат решения a = ".$a." b = ".$b.'<br>';

echo "P.S: чужие решения рекомендую спрятать за спойлер";
ashfedor@gmail.com

Вот мое решение. Только у меня нотайс вылазит на последнем значении. Почему не пойму?

echo 'решение с перменной' .'<br>';
$a = 3;
$b = 5;
$s = $a + $b;
$b = $s - $b;
$a = $s - $a;
echo $b . "<br>" . $a;
echo '<br>';
echo 'решение без перменной' . '<br>';
$a = 3;
$b = 5;
$b = $a * $b;
echo '$a = ' . $a = $b / $a . '<br>';
echo '$b = ' . $b = $b / $a ;
ivashkevich

Потому что на предпоследней строке в $a присваиваете $a = $b / $a . '<br>'. И получается строка с <br> на конце, которую затем используют в арифметической операции. Отсюда и ошибка.
Чтобы этого избежать, можно взять выражение в скобки:

echo '$a = ' . ($a = $b / $a) . '<br>';
bibelman
<?php
// Задание 1
$a = 3;
$b = 5;
$c = $a; 
$a = $b;
$b = $c;

// Задание 2
$a = 3;
$b = 5;
$a = $a + $b; // $a = 3 + 5 = 8
$b = $a - $b; // $b = 8 - 5 = 3
$a = $a - $b; // $a = 8 - 3 = 5

?>
Bogdan

получилось вот так..

<?php

$a = 3;
$b = 5;
$c;

echo "перменная а = $a, переменная b = $b<hr>";

//$c = $a;
//$a = $b;
//$b = $c;
//echo "перменная а = $a, переменная b = $b<hr>";

$a += $b;
$b = $a - $b;
$a -= $b;
echo "перменная а = $a, переменная b = $b<hr>";

понравилось решение:

$a = 3;
$b = 5;
echo "a={$a} b={$b}\n";
[$a,$b] = [$b,$a];
echo "a={$a} b={$b}";
ivashkevich

Отлично! Да, решение изящное)

Bocha
<?php
echo 'Изменение двух переменных с помощью третьей переменной', '<br>','<br>';
echo 'Стартовые значения переменных:', '<br>','<br>';
$a=3;
$b=5;
echo 'Стартовые значения переменных:','<br>';
echo "А=$a",'<br>';
echo "B=$b",'<br>','<br>';
$c=$a;
$a=$b;
$b=$c;
echo 'Измененные значения переменных','<br>';
echo "А=$a",'<br>';
echo "B=$b",'<br>','<br>';
echo 'Изменение двух переменных без помощи третьей переменной', '<br>','<br>';
echo 'Стартовые значения переменных:', '<br>','<br>';
$a=3;
$b=5;
echo 'Стартовые значения переменных:','<br>';
echo "А=$a",'<br>';
echo "B=$b",'<br>','<br>';
$a=$b*$a/$a;
$b=$a*3/$b;
echo 'Измененные значения переменных','<br>';
echo "А=$a",'<br>';
echo "B=$b",'<br>','<br>';
?>
Nikita3712

По простому)

$a=3;
$b=5;
$c=$b-$a;
$a=$c+$a;
$b=$b-$c;

 echo "Переменная a: $a";
 echo "<Br>";
 echo "Переменная b: $b";
mr.megaboss@gmail.com

У меня проблема какая-то с выводом в хром. в фоксе все норм. (первые несколько строк вывода кидает в конец страницы. если посмотреть исходный код в браузере то все ок
Исхоодник:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Задача</title>
</head>
<body>
//Присвойте переменным $a и $b значения 3 и 5 соответственно. С помощью третьей переменной $c поменяйте значения этих переменных (в $a будет 5, а в $b будет 3)
//Проделайте тоже самое, но без использования третьей переменной, при условии что в качестве значений могут быть только целые числа

<?php

$a = 3;
$b = 5;
$c = $a;
$a = $b;
$b = $c;

echo 'Case 1 (a = 3, b = 5):', '<br>',
    'a = ' . $a, '<br>',
    'b = ' . $b, '<br>',
    'c = ' . $c, '<br><br>',

'Case 2 (d = 3, e = 5):', '<br>';
$d = 3;
$e = 5;

$e = $e - $d;
$d = $e + $d;
$e = $d - $e;

echo 'd = ' . $d, '<br>', 'e = ' . $e, '<br>';
?>
</body>
</html>

Отображение в хроме:


a = 5
b = 3
c = 3

Case 2 (d = 3, e = 5):
d = 5
e = 3

//Присвойте переменным $a и $b значения 3 и 5 соответственно. С помощью третьей переменной $c поменяйте значения этих переменных (в $a будет 5, а в $b будет 3)
//Проделайте тоже самое, но без использования третьей переменной, при условии что в качестве значений могут быть только целые числа

Case 1 (a = 3, b = 5):

Отображение в фоксе:

//Присвойте переменным $a и $b значения 3 и 5 соответственно. С помощью третьей переменной $c поменяйте значения этих переменных (в $a будет 5, а в $b будет 3) //Проделайте тоже самое, но без использования третьей переменной, при условии что в качестве значений могут быть только целые числа Case 1 (a = 3, b = 5):
a = 5
b = 3
c = 3

Case 2 (d = 3, e = 5):
d = 5
e = 3
ivashkevich

Очистите кеш в хроме (ctrl+shift+r)

Starosta
<?php
$a=3;
$b=5;
$c=0;
$c=$a;
$a=$b;
$b=$c;
echo 'a=', $a, '  b=',$b, '<br>';
$a = 3;
$b = 5;
$a = $a + $b;
$b = $a - $b;
$a = $a - $b;
echo 'a=', $a, '  b=',$b, '<br>';
?>
ivashkevich

Хорошо. В первом случае не нужно присваивать изначально в $c 0

N9PIX
<?php
// Задача с переменной С
echo "Условие задачи: поменять значение переменных с помощью переменно C", '<br>';
$a = 3;
$b = 5;
echo "a=", $a, '<br>';
echo "b=", $b, '<br>';
// Само решение
echo "Рещение", '<br>';
$c = $a;
$a = $b;
$b = $a;
$b = $c;
echo "a=", $a, '<br>';
echo "b=", $b, '<br>';
// Задача без использование переменно C
echo "Услвоие задачи: поменять местами значения переменной с использованием целых чисел", '<br>';
$s = 3;
$d = 5;
echo "s=", $s, '<br>';
echo "d=", $d, '<br>';
// Само решение
echo "Решение", '<br>';
$s = ($s+2);
$d = ($d-2);
echo 's=', $s, '<br>';
echo 'd=', $d, '<br>';
ivashkevich

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

SashkoUkraine

1)

$a = 3;
$b = 5;
$c = 2;

$a = 3 + $c;
$b = 5 - $c;

echo "поменяли переменную а на " . $a ."," . " a переменную b на " . $b;

Вопрос как-то можно сократить эту запись последнюю с выводом, чтобы не писать постоянно кавычки для каждой строки (элемента)?

ivashkevich

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

fapchat2@gmail.com

можно ли создать несколько проектов в одной папке?

ivashkevich

Нет. Проекты они на то и проекты, чтобы в разных местах лежать.

fapchat2@gmail.com
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
</head>
<body>
<h1>Пример встраивания PHP в HTML</h1>
<?php
$a=3;
$b=5;
$a=$b-$a;//2
$b=$b-$a;//3
$a=$a+$b;//5
echo $a , '<br>';//5
echo $b ; ?> <!--  3    -->
</body>
</html>
90auto90@gmail.com
<?php

$a = 3;
$b = 5;
$c = $b;

$a = $c;
$b = $a;

echo 'a = ' . $a . '<br>' . 'b = ' . $b ;
ivashkevich

Ок. А второе?

igor_vile@mail.ru
<?php

$a = 3;
$b = 5;
$c = $b + $a;

$a = $c - $a;
$b = $c - $b;

echo $a;
echo $b;
ivashkevich

ОК! А без переменной?)

ya.kcenechka@gmail.com
$a = 3;
$b = 5;
$c = $a + $b;
a:
if ($a == 5) goto b;
//вывод на экран
echo '$a',"=$a", "<br>";
echo '$b',"=$b", "<br>";
//переводим $b
$b += $a; //$b=8 $a+$b=$b
//считаем $a
$a = $b - $a; //$a=5
//считаем $b
$b -= $a; //$b=3 $b-$a
//Выводим на стр.
echo 'меняем местами','<br>';
echo '$a',"=$a", "<br>";
echo '$b',"=$b", "<br>";
goto a;
b:
echo '$a+$b=$c'," или ","$a+$b=$c","<br>"; //c=8
//изменяем и выводим на экран $а
$b=$c-$b; //$b=3
echo '$b',"=$b","<br>";
//изменяем и выводим на экран $b
$a=$c-$b; //$a=5
echo '$a',"=$a";
ivashkevich

Никогда не используйте goto - такой код невозможно читать и поддерживать. Где вы о нем узнали?
Для решения задачи нужны 3 переменные без всяких дополнительных заморочек.

safr0novilya@yandex.ru
<?php
$a=3;
$b=5;
$c;
$c=$a+$b;
$a=$c-$a;
$b=$c-$b;
echo $a;
echo $b;

$a=3;
$b=5;
$a=8-$a;
$b=8-$b;
echo $a;
echo $b;
ivashkevich

Посмотрите решения выше. И для первого и для второго варианта.

safr0novilya@yandex.ru
без доп переменной
$a = 3;
$b = 5;
$a = $a + $b;
$b = $a - $b;
$a = $a - $b;
echo $a;
echo $b;
с доп переменной:
$a = 3;
$b = 5;
$c = '';
$a = $a + $b;
$b = $a - $b;
$a = $a - $b;
echo $a;
echo $b;
ivashkevich

С доп. переменной - а смысл в переменной $c?

safr0novilya@yandex.ru

Я перепутал.

$a=3;
$b=5;
$c='';
$c=$a;
$a=$b;
$b=$c;

просто я только начал программирование,пока думал,уже не то написал

ivashkevich

Уже лучше. Но непонятно зачем вот это:

$c='';

Не надо торопиться.

safr0novilya@yandex.ru

А как ее надо было обозначить?
$c;-выдает ,что не правильно,я в вашем телеграм канале спросил - мне так ответили $с=' ';

ivashkevich

Можно же сразу определить

$c = $a
solomka2009@yandex.ru
<?php
echo 'Решение с третьей переменной $c.','<br>';
$a = 3;
$b = 5;
echo 'Сначала $a = ', $a, ' $b = ', $b,'<br>';
echo 'Производим замену:','<br>';
echo'$c = $a','<br>';
echo'$a = $b','<br>';
echo'$b = $c','<br>';
$c = $a;
$a = $b;
$b = $c;
echo 'После замены $a = ', $a, ' $b = ', $b,'<br>';
echo '<br>','Решение без третьей переменной - один из возможных вариантов игры с целыми числами.','<br>';
echo 'Хотя вот это решение подходит и для нецелых чисел:','<br>';
$a = 3;
$b = 5;
echo '<br>','Сначала $a = ', $a, ' $b = ', $b,'<br>';
echo 'Производим замену:','<br>';
echo'$a=$a+$b','<br>';
echo'$b=$a-$b','<br>';
echo'$a=$a-$b','<br>';
$a=$a+$b;
$b=$a-$b;
$a=$a-$b;
echo 'После замены $a = ', $a, ' $b = ', $b,'<br>';
echo '<br>','Этот вариант не единственный - могут быть и другие.','<br>';
echo '<br>','Интересная математическая задача - а сколько всего может быть таких вариантов ?','<br>';
echo '<br>','Решение без третьей переменной - второй возможный вариант.','<br>';
echo 'Тоже подходит и для нецелых чисел:','<br>';
$a = 3.123;
$b = 5.456;
echo '<br>','Сначала $a = ', $a, ' $b = ', $b,'<br>';
echo 'Производим замену:','<br>';
echo'$a=$a-$b','<br>';
echo'$b=$a+$b','<br>';
echo'$a=-$a+$b','<br>';
$a=$a-$b;
$b=$a+$b;
$a=-$a+$b;
echo 'После замены $a = ', $a, ' $b = ', $b,'<br>';
Normone
$a = 3;
$b = 5;
$c = $a + $b;
$a = $c - $a;
$b = $c - $b;
//
$a = 3;
$b = 5;
$a = $a + $b;
$b = $a - $b;
$a = $a - $b;
fesstao@mail.ru
<?php
echo "Домашнее задание"
// без переменной 
$a = 3;
$b = 5;

$b = $b + $a; // b = 8
$a = $b - $a; // 8 - 3, a = 5
$b = $b - $a; // 8 - 5, b = 3

echo "Домашнее задание"
// с переменной 
$a = 3;
$b = 5;

$c = $a + $b;
$a = $c - $a;
$b = $c - $b;
ivashkevich

Зачем с третьей переменной так сложно?) Можно просто сохранить в неё временно одно из значений.

alex.evg.ostr@gmail.com

Мое выполнение:

<?php
echo "Решение с переменной: <br/>";
$a=3;
$b=5;
$c=$a;
$a=$b;
$b=$c;
echo 'a='.$a.'<br/>';
echo 'b='.$b.'<br/>';
echo "Решение без переменной: <br/>";
$a=3;
$b=5;
echo 'a='.(($a+$b)-$a).'<br/>';
echo 'b='.(($a+$b)-$b).'<br/>';
?>

Самый понятный курс PHP
Онлайн-уроки в удобное время!
Начать бесплатно
Популярное за сутки
Онлайн-курсы PHP и MySQL
Обучение с полного нуля до уровня джуниора!
Начать бесплатно
Сейчас читают
Онлайн-курсы PHP и MySQL
Обучение с полного нуля до уровня джуниора!
Начать бесплатно
Новые статьи
Логические задачи с собеседований