• <nav id="cwumo"><code id="cwumo"></code></nav>
  • <menu id="cwumo"><strong id="cwumo"></strong></menu>

    php是什么型語言

    時間:2024-09-20 05:35:20 PHP 我要投稿
    • 相關推薦

    php是什么型語言

      PHP寫的網站占所有網站的大概 80%了。那么你知道php是什么型語言了嗎?PHP 是一門弱類型語言,跟yjbys小編一起來學習一下吧~

      PHP 是一門弱類型語言

      我們注意到,不必向 PHP 聲明該變量的數據類型。

      PHP 會根據變量的值,自動把變量轉換為正確的數據類型。

      在強類型的編程語言中,我們必須在使用變量前先聲明(定義)變量的類型和名稱。

      1. 先定義一些基礎概念

      Program Errors

      trapped errors。導致程序終止執行,如除0,Java中數組越界訪問

      untrapped errors。 出錯后繼續執行,但可能出現任意行為。如C里的緩沖區溢出、Jump到錯誤地址

      Forbidden Behaviours

      語言設計時,可以定義一組forbidden behaviors. 它必須包括所有untrapped errors, 但可能包含trapped errors.

      Well behaved、ill behaved

      well behaved: 如果程序執行不可能出現forbidden behaviors, 則為well behaved。

      ill behaved: 否則為ill behaved...

      2. 有了上面的概念,再討論強、弱類型,靜態、動態類型

      強、弱類型

      強類型strongly typed: 如果一種語言的所有程序都是well behaved——即不可能出現forbidden behaviors,則該語言為strongly typed。

      弱類型weakly typed: 否則為weakly typed。比如C語言的緩沖區溢出,屬于trapped errors,即屬于forbidden behaviors..故C是弱類型

      前面的人也說了,弱類型語言,類型檢查更不嚴格,如偏向于容忍隱式類型轉換。譬如說C語言的int可以變成double。 這樣的結果是:容易產生forbidden behaviours,所以是弱類型的

      動態、靜態類型

      靜態類型 statically: 如果在編譯時拒絕ill behaved程序,則是statically typed;

      動態類型dynamiclly: 如果在運行時拒絕ill behaviors, 則是dynamiclly typed。

      3. 誤區

      大家覺得C語言要寫int a, int b之類的,Python不用寫(可以直接寫a, b),所以C是靜態,Python是動態。這么理解是不夠準確的。譬如Ocaml是靜態類型的,但是也可以不用明確地寫出來。。

      Ocaml是靜態隱式類型

      靜態類型可以分為兩種:

      如果類型是語言語法的一部分,在是explicitly typed顯式類型;

      如果類型通過編譯時推導,是implicity typed隱式類型, 比如ML和Haskell

      4.下面是些例子

      無類型: 匯編

      弱類型、靜態類型 : C/C++

      弱類型、動態類型檢查: Perl/PHP

      強類型、靜態類型檢查 :Java/C#

      強類型、動態類型檢查 :Python, Scheme

      靜態顯式類型 :Java/C

      靜態隱式類型 :Ocaml, Haskell

    【php是什么型語言】相關文章:

    php是什么06-05

    PHP語言的簡介08-13

    PHP語言的優勢11-05

    php是什么格式07-29

    php樹型類實例代碼10-23

    如何學習PHP語言07-28

    PHP語言就業前景06-24

    php是什么意思09-15

    PHP語言的特性盤點201707-19

    PHP語言需要避免的誤區08-26

    日韩激情