«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2021/03/05 16:40:39  №1958529 1
>>1958281 (OP)
А почему код ниже выводит 1?
<?php
$a=1;
echo $a++;
Ответы: >>1958532 >>1958534
Аноним 2021/03/05 16:42:50  №1958534 2
>>1958529
Потому что он сначала прибавляет единицу, но не перезаписывает в переменной. Если хочешь, шобы сразу выводило, юзай ++$a;
Ответы: >>1958543
Аноним 2021/03/05 16:48:33  №1958543 3
>>1958534
Немного непонятно. А почему тогда в гайде написано что $a++ это $a=$a+1 ?
Аноним 2021/03/05 17:10:04  №1958564 4
>>1958543
Не читай гайд из шапки, его писал двачер блять. Двачеры априори не могут писать гайды. Учи на php.net + google. Всё.
Ответы: >>1958567 >>1958861
Аноним 2021/03/05 17:11:39  №1958567 5
>>1958543
>>1958564
Написано то всё верно. Только в гайде походу не уделилось времени этому достаточно.
$a = 0;
echo $a++; //выводит ноль при том, что а будет единицей.

$a = 0;
echo ++$a; //а единица и выводит единицу
Ответы: >>1958580
Аноним 2021/03/05 17:21:16  №1958580 6
>>1958567
Я это понял, но я не понимаю как это работает.
Получается $a++ это оператор, который возвращает значение $a вызывающей его функции, а после ее выполнения увеличивает ее на единицу?
Ответы: >>1958585 >>1958864
Аноним 2021/03/05 17:28:27  №1958585 7
>>1958580
> я не понимаю как это работает
Я тебе даже ссылку скинул на офф документацию, ты хоть открывал её?
Аноним 2021/03/06 07:38:42  №1958864 8
>>1958580

Да, он увеличивает переменную, но возвращает значение до увеличения. Ты можешь проверить это кодом

$a = 1;
echo $a++; // 1
echo $a; // 2

Зачем так сделано? Логику тут найти трудно. Спроси у автора языка Си, зачем он так придумал. Я подозреваю, что просто потому что в компьютерах тех времен была команда для этого, вот он и скопировал ее в язык.