Home  >  Article  >  Backend Development  >  How to implement self-increment and self-decrement of PHP Boolean values

How to implement self-increment and self-decrement of PHP Boolean values

不言
不言Original
2018-05-03 10:17:451381browse

This article mainly introduces the implementation method of self-increasing and self-decreasing PHP Boolean values. It has a certain reference value. Now I share it with you. Friends in need can refer to it.

In the morning and After the business requirements battle was over, I was about to open the group to see if any experienced drivers had checked out the car. Suddenly I saw some messages from @E五九天II

He discovered that PHP The Boolean value of , no matter how many times it is incremented, the final output is 1

This is more interesting~

Self-increment and self-decrement, what is the difference between $a and $a We all know that

a means to take the address of a, increase the value of a in the memory, and then put the value in the register
a means to take the address of a, load the value of a into the register, and then add The value of a in the memory

I opened an editor to confirm the result

$a = true;
var_dump(--$a);
echo PHP_EOL;
echo $a;
$b = false;
echo PHP_EOL;
var_dump(++$b);

The final input result of the operation is as follows

bool(true)
1
bool(false)

I found that the result was not quite what I expected. PHP did not do anything for the auto-increment operation of Boolean values. Processing, and the reason why it is 1 after incrementing is because we use echo to output, resulting in the bool being forced to

to query the official documentation of PHP, but unexpectedly there is a line of obvious prompts

Note : Increment/decrement operators do not affect boolean values. Decrementing a NULL value has no effect, but increasing NULL results in 1.

Related recommendations:

Android programmers learn PHP development (5)-Boolean scientific notation-PhpStorm

The above is the detailed content of How to implement self-increment and self-decrement of PHP Boolean values. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn