PHP編程
PHP編程學習:“===”與“==”的區別
// ===,全等於,必須是變來那個的類型相等,
// 並且值也相等,才是全等於,如果有一項不同,全等於不成立。
// ==,等於,並不要求變量的類型必須相等,
// 但是在運算的過程中,如果是不同類型的比較,PHP會把變來那個轉換成一致的類型,
// 之後再作比較。
類型的轉換:
布尔值
//
// 当转换为 boolean 时,以下值被认为是 FALSE:
//
// 布尔值 FALSE 本身
--------------------------------------------------------------------------
// 整型值 0(零)
// 浮点型值 0.0(零)
if (0==true) {
echo "整形零等于true";
}else {
echo "整形零不等于true";
}
echo "<br/>";
// 結果是整形零不等于true
if (0.0==true) {
echo "浮點零點零等于true";
}else {
echo "浮點零點零不等于true";
}
echo "<br/>";
// 結果是浮點零點零不等于true
if (0.0002==true) {
echo "0.0002等于true";
}else {
echo "0.0002不等于true";
}
echo "<br/>";
// 結果是0.0002等于true
-----------------------------------------------------------------------------------------------
// 空字符串,以及字符串 "0"
if ("0"==true) {
echo "零字符串等于true";
}else {
echo "零字符串不等于true";
}
echo "<br/>";
// 結果是"零字符串不等於true"
if ("0.0"==true) {
echo "零點零字符串等于true";
}else {
echo "零點零字符串不等于true";
}
echo "<br/>";
// 結果是"零點零字符串等於true"
-----------------------------------------------------------------------------------
// 不包括任何元素的数组
// 特殊类型 NULL(包括尚未赋值的变量)
// 从空标记生成的 SimpleXML 对象。
// 所有其它值都被认为是 TRUE(包括任何资源 和 NAN)。
----------------------------------------------------------------------------
// Warning
// -1 和其它非零值(不论正负)一样,被认为是 TRUE!
if (-5==true) {
echo "-5等于true";
}else {
echo "-5不等于true";
}
echo "<br/>";
//結果是-5等于true
---------------------------------------------------------------------
// 當整形數字為0時,等於就會把0轉換成布爾值false,
// 這時就出現結果“沒找到”,但是數字0本身是存在的,不是false,
// 那就需要用全等於來比較。
$res=0;
if ($res==false) {
echo "沒找到";
}else {
echo "找到了";
}
echo "<br/>";
結果是 “沒找到”
$z=0;
if ($z===false) {
echo "沒找到";
}else {
echo "找到了";
}
echo "<br/>";
結果是“找到了”
// 並且值也相等,才是全等於,如果有一項不同,全等於不成立。
// ==,等於,並不要求變量的類型必須相等,
// 但是在運算的過程中,如果是不同類型的比較,PHP會把變來那個轉換成一致的類型,
// 之後再作比較。
類型的轉換:
布尔值
//
// 当转换为 boolean 时,以下值被认为是 FALSE:
//
// 布尔值 FALSE 本身
--------------------------------------------------------------------------
// 整型值 0(零)
// 浮点型值 0.0(零)
if (0==true) {
echo "整形零等于true";
}else {
echo "整形零不等于true";
}
echo "<br/>";
// 結果是整形零不等于true
if (0.0==true) {
echo "浮點零點零等于true";
}else {
echo "浮點零點零不等于true";
}
echo "<br/>";
// 結果是浮點零點零不等于true
if (0.0002==true) {
echo "0.0002等于true";
}else {
echo "0.0002不等于true";
}
echo "<br/>";
// 結果是0.0002等于true
-----------------------------------------------------------------------------------------------
// 空字符串,以及字符串 "0"
if ("0"==true) {
echo "零字符串等于true";
}else {
echo "零字符串不等于true";
}
echo "<br/>";
// 結果是"零字符串不等於true"
if ("0.0"==true) {
echo "零點零字符串等于true";
}else {
echo "零點零字符串不等于true";
}
echo "<br/>";
// 結果是"零點零字符串等於true"
// 不包括任何元素的数组
// 特殊类型 NULL(包括尚未赋值的变量)
// 从空标记生成的 SimpleXML 对象。
// 所有其它值都被认为是 TRUE(包括任何资源 和 NAN)。
----------------------------------------------------------------------------
// Warning
// -1 和其它非零值(不论正负)一样,被认为是 TRUE!
if (-5==true) {
echo "-5等于true";
}else {
echo "-5不等于true";
}
echo "<br/>";
//結果是-5等于true
---------------------------------------------------------------------
// 當整形數字為0時,等於就會把0轉換成布爾值false,
// 這時就出現結果“沒找到”,但是數字0本身是存在的,不是false,
// 那就需要用全等於來比較。
$res=0;
if ($res==false) {
echo "沒找到";
}else {
echo "找到了";
}
echo "<br/>";
結果是 “沒找到”
$z=0;
if ($z===false) {
echo "沒找到";
}else {
echo "找到了";
}
echo "<br/>";
結果是“找到了”
--------------------------------------------------------------------------------------------------------------------
// 2、 字符串 ---> 数字的转换
//
// 从字符串左端开始找数字,直到第一个非数字结束,
// 取出来的这一部分,即是转换后的值。
// "3q"--->3
// "ewfdwdwfedw3333"---> 0
Post a Comment
0 Comments