這個數組里面的0,怎么有引號跟沒引號都一樣能夠輸出的
<?php
//從數組變量$arr中,讀取鍵為0的值
$arr = array('蘋果','香蕉');
$arr0 = $arr[0];
if( isset($arr0) ) {print_r($arr0);}
?>
我試了一下$arr0 = $arr['0'];
跟$arr0 = $arr[0];一樣都可以的
那為什么還要輸入引號呢
<?php
//從數組變量$arr中,讀取鍵為0的值
$arr = array('蘋果','香蕉');
$arr0 = $arr[0];
if( isset($arr0) ) {print_r($arr0);}
?>
我試了一下$arr0 = $arr['0'];
跟$arr0 = $arr[0];一樣都可以的
那為什么還要輸入引號呢
2018-12-13
舉報
2018-12-13
首先php中0與'0',轉化后值相等,但是類型不同
php是一種弱類型的語句,他的變量、字符定義其實并不十分規范,比如?$a?=?'4′;我們可以說這個$a是一個字符,但是他又可以直接進行數字的加減乘除,如:
$a='4';
$b= $a*5;
echo $b;//輸出20
這里用非0數字舉例:
if('4′==4){echo?'ok'}//會輸出ok,因為他轉化后相等,判斷成立;但如果是
if('4′===4){echo?'ok'};?//這個就不會輸出ok,判斷不成立,因為在恒等面前,有單引號的4和沒有單引號的4并不是同一個4,一個是數字,一個是個字符。