本文目錄一覽:
- 1、php 變數怎麼初始化
- 2、php為什麼變數要初始化 向高手討教
- 3、php變數賦初值的問題? 例如要聲明兩個變數
- 4、PHP的變數如何給抽象類中屬性符初值
- 5、PHP中為什麼要初始化變數
- 6、Php中,沒有聲明直接用的變數默認值為0還是1?
php 變數怎麼初始化
直接
$a = ”;
$b = 0;
$c = array();
就可以了,php在這方面比較省事,靜態變數用define定義
如define(‘AAA’,0);
類對象變數用 var
如 var $aaa = 0;
php為什麼變數要初始化 向高手討教
是這樣的,比如我們程序要使用$tmp來存儲一個循環裡面取到的內容,語句如下:
while(…){
if (…) $tmp=…;
}
if ($tmp==…) {…}
上面的語句,是在循環裡面判斷某個條件,條件滿足就賦值,循環結束後判斷變數的值來執行程序,看起來沒問題,但是實際上有問題。
因為在循環前沒有對$tmp=”;這樣初始化,那麼循環中如果一直都沒有滿足條件,其實$tmp的值可能是不確定的。特別是,當欄位全局變數開關打開的時候,$tmp的值可能是調用這個PHP文件時的參數值,例如xxx.php?tmp=xxx這樣的調用就可以改變程序裡面變數的值,非常危險。
php變數賦初值的問題? 例如要聲明兩個變數
完全沒有區別. 先賦值就是要在後面用到它的值 不賦值 是起到過渡 作用 如果你賦值了 在後面再次賦值會覆蓋前面的
PHP的變數如何給抽象類中屬性符初值
因為抽象類不能被實例化,所以需要通過繼承的方式為屬性賦值:
前提是抽象類中需要賦值的屬性不能被private修飾
?php
abstract class AbstractClass
{
public $a = 1;
abstract protected function getValue();
// 普通方法(非抽象方法)
public function printOut() {
echo $this-a . “\n”;
}
}
class ConcreteClass1 extends AbstractClass
{
protected function getValue() {}
}
$b = new ConcreteClass1();
$b-a = 2;
$b-printOut();
?
PHP中為什麼要初始化變數
由於不存在聲明語句,所以變數初始化過程應該直接賦值,例如: $str_demo=””; 未初始化變數的默認值
未初始化的變數被使用時,具有其類型的默認值:FALSE,零,空字元串或者空數組。 舉例如下: ?php echo ($unset_bool? “true”: “false”); // false $unset_int += 25; // 0 + 25 = 25 echo $unset_string . “abc”; // “” . “abc” = “abc” $unset_array[3] = “def”; // array() + array(3 = “def”) = array(3 = “def”) ? 未初始化變數可能帶來的問題
依賴未初始化變數的默認值在某些情況下會有問題,例如: 直接使用未定義變數可能會報錯,比如這樣的程序 ?php if($command!= “kkk”) echo “not kkk”?
可能會出現錯誤提示 bNotice:/b Undefined variable: command in bX:\wamp\www\xxx.php/b on line 1
以上程序的錯誤信息屬於E_NOTICE級別,是否顯示出來與php.ini中的錯誤級別設置有關。
Php中,沒有聲明直接用的變數默認值為0還是1?
如果使用一個未定義的變數,
PHP假設變數的值為null
if(null) 是 true
null == 0 是true
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/219639.html