為什麼php裡的變數不需要特意聲明?

來源:互聯網
上載者:User
問題如題,php裡不需要聲明變數,那系統知道什麼是變數並且給變數分配空間是根據$來分辨的嗎?它不需要聲明變數是因為php是弱類型語言嗎?

回複內容:

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

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

是的,因為php是弱類型語言,所以不需要聲明變數類型即可使用。。

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

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

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

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

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

。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.