Today, a netizen in the group sent a topic not difficult, but may be wrong
Copy Code code as follows:
Echo
$a = = 1? ' One ':
$a = = 2? ' Two ':
$a = = 3? ' Three ':
$a = = 4? ' Foura ': ' Other ';
echo "\ n";
The output results are:
<BR>
The result: four
At first I don't understand, according to my understanding, should be such logic:
echo ($a = 1? ' One ':
($a = = 2? ' Two ':
($a = = 3? ' Three ':
($a = = 4? ' Four ': ' Other '));
Output is: two
Later in Keving (qq:48474), see the PHP manual, finally understand the PHP ternary character interpretation is from left to right,
<!--? php
At first glance the output below is ' true '
Echo (true? ') True ': false? ' T ': ' F ');
However, the actual output of the above statement is ' t ' because the ternary operator is computed from left to right.
Here is the equivalent of the statement above, but more clearly
Echo (true? ' True ': ' false '? ' t ': ' F ');
So the above can be explained as follows:
Echo (
(($a = = 1?) ' One ':
$a = = 2)? ' Two ':
$a = = 3)? ' Three ':
$a = = 4)? ' Four ': ' Other ');
In fact, this involves type conversions:
$a ==1=>false=> $a ==2?true=> ' two ' =true=> ' three ' =true=> ' four '
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.
A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service