首頁 >後端開發 >php教程 >為什麼php裡的變數不需要刻意宣告?

為什麼php裡的變數不需要刻意宣告?

WBOY
WBOY原創
2016-10-11 14:23:471475瀏覽

問題如題,php裡不需要宣告變量,那系統知道什麼是變數並且給變數分配空間是根據$來分辨的嗎?它不需要聲明變數是因為php是弱型別語言嗎?

回覆內容:

問題如題,php裡不需要宣告變量,那系統知道什麼是變數並且給變數分配空間是根據$來分辨的嗎?它不需要聲明變數是因為php是弱型別語言嗎?

php的底層C是由一個聯合體union來儲存變量,這個聯合體裡面有各種變量類型,php都以long類型來儲存整型,用hashtable哈西表來儲存數組,因為union可以儲存各種變量,且解釋器會自動判定變數類型,所以php不用宣告變數類型,弱型別

是的,因為php是弱型別語言,所以不需要宣告變數型別即可使用。 。

$只是個語法糖,表示後面跟的是一個變數。 。

如果按照記憶體空間分配來解釋的話

  • 弱類型的變數在分配記憶體空間時,這個記憶體空間可以儲存任何類型的變數。使用的時候需要找所有的記憶體區域

  • 而強型別則依照變數型別分配在指定的記憶體中,不可直接轉換型別。使用的時候直接去該類型的區域中找到該值。

所以一般在弱型別語言中改變變數型別可以直接修改。 。但是強型別語言不能直接修改,所以強型別語言的指標概念特別重要,我們不直接使用記憶體中的數據,我們建立一個引用型變數(指標),如果想修改的時候直接修改指標指向的記憶體位址就可以。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn