$number = 1;
Это действительно:
$number = ($number) + 1;
Но это неверно:
$number = ($number) ++;
Так почему я могу использовать + 1
и увеличить его, но я не могу использовать ++
увеличить это?
$number = ($number) + 1;
Это верно, потому что вы добавляете 1 к выражению.
++
поскольку оператор приращения не может использоваться для выражений, он может использоваться только для переменных.
Из руководства:
Операторы увеличения / уменьшения влияют только на числа и строки.
Оператор приращения ++
увеличивает числа или строковые переменные. ($number)
это не переменная, а выражение.
По той же причине, что они действительны:
isset($_GET['foo'])
$bar++;
$data = array(1, 5, 6);
sort($data);
… и это не
isset('hi');
'hi'++;
33++;
sort(array(1, 5, 6));
Некоторые функции, операторы и конструкции работают на переменные и не имеет смысла в другом месте. Круглые скобки здесь в основном красная сельдь.