久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      php學習之數(shù)據(jù)類型自動轉(zhuǎn)換

      在開發(fā)中,PHP作為一種動態(tài)類型語言,對變量數(shù)據(jù)類型的靈活性非常高,因此無需在編寫時指定數(shù)據(jù)類型,而是在運行時根據(jù)賦值來確定其類型。這給程序員提供了很大的便利,但有時也會導致一些問題,比如類型轉(zhuǎn)換不當。PHP中提供了很多類型轉(zhuǎn)換的函數(shù)和一些類型的判斷函數(shù),本文將介紹PHP類型轉(zhuǎn)換的一些常見方法和問題。

      1.強類型和弱類型

      PHP變量有兩種類型:強類型和弱類型。強類型就是指變量的類型比較固定,一旦定義了就不能隨意更改。比如在Java中,你定義了一個整型變量,就只能把整型數(shù)據(jù)傳給它,其他任何類型的數(shù)據(jù)都會導致編譯錯誤。而弱類型則是指變量的類型不固定,可以被動態(tài)改變。比如在PHP中,你可以定義一個類型為字符串的變量,并在運行時直接把一個整型變量賦值給它。

      2.強制類型轉(zhuǎn)換

      PHP提供了一些函數(shù)來實現(xiàn)強制類型轉(zhuǎn)換,這些函數(shù)的命名規(guī)則都是以“(需要轉(zhuǎn)換到的類型)(需要轉(zhuǎn)換的變量)”這樣的形式來命名的,如(int)$var,$str,(float)$var等。下面我們來介紹一些常用的強制類型轉(zhuǎn)換函數(shù)。

      a. (bool)或(boolean)

      (boolean)$var或(bool)$var可以把一個變量轉(zhuǎn)換為布爾型。其中,對于一個非布爾型的值,它會被轉(zhuǎn)換成一個布爾型的值,轉(zhuǎn)換規(guī)則如下:

      • 0、0.0、""、“0”、“false”、“null”都會被轉(zhuǎn)換成布爾型的false。
      • 其他的值都會被轉(zhuǎn)換成布爾型的true。

      b. (int)或(integer)

      (integer)$var或(int)$var可以把一個變量轉(zhuǎn)換成整型。對于一個非整型的值,它會被盡可能地轉(zhuǎn)換為整型,轉(zhuǎn)換規(guī)則如下:

      • 浮點數(shù)會被強制轉(zhuǎn)換為整數(shù),截取整數(shù)部分。
      • 字符串會被轉(zhuǎn)換為整數(shù)。如果字符串不是以數(shù)字開頭的話,則會被轉(zhuǎn)換為0。
      • 布爾型的值true會被轉(zhuǎn)換為1,false會被轉(zhuǎn)換為0。
      • 數(shù)組和對象無法轉(zhuǎn)換成整數(shù),它們會被轉(zhuǎn)換為1。

      c. (float)或(double)

      (double)$var或(float)$var可以把一個變量轉(zhuǎn)換成浮點型。對于一個非浮點型的值,它會被盡可能地轉(zhuǎn)換為浮點型,轉(zhuǎn)換規(guī)則如下:

      • 如果是整型,則直接轉(zhuǎn)換為浮點型。
      • 如果是字符串,則會被轉(zhuǎn)換為浮點數(shù)。如果字符串不是以數(shù)字開頭的話,則會被轉(zhuǎn)換為0。
      • 布爾型的值true會被轉(zhuǎn)換為1.0,false會被轉(zhuǎn)換為0.0。
      • 數(shù)組和對象無法轉(zhuǎn)換成浮點數(shù),它們會被轉(zhuǎn)換為1.0。

      d. (string)

      (string)$var可以把一個變量轉(zhuǎn)換成字符串,轉(zhuǎn)換規(guī)則如下:

      • 如果是數(shù)值型,則直接轉(zhuǎn)換為字符串。
      • 如果是布爾型,則布爾型的值true會被轉(zhuǎn)換為字符串"1",false會被轉(zhuǎn)換為空字符串""。
      • 如果是數(shù)組,則會轉(zhuǎn)換為字符串"Array"。
      • 如果是對象,則會轉(zhuǎn)換為字符串"Object"。
      • null會被轉(zhuǎn)換為空字符串""。

      e. (array)

      (array)$var可以把一個變量轉(zhuǎn)換成數(shù)組,$var必須是一個對象或者一個用逗號分隔的字符串。轉(zhuǎn)換規(guī)則如下:

      • 對象會轉(zhuǎn)換成一個包含對象屬性和方法的數(shù)組。
      • 分隔符的字符串會被轉(zhuǎn)換成一個數(shù)字索引的數(shù)組,每個元素為分隔符分割出來的非空值。

      f. (object)

      (object)$var可以把一個變量轉(zhuǎn)換成對象。$var必須是一個數(shù)組或者一個對象。如果$var是數(shù)組,則會被轉(zhuǎn)換成空的標準對象(stdClass)。

      3.自動類型轉(zhuǎn)換

      PHP作為一種動態(tài)類型語言,對于變量類型的判斷和轉(zhuǎn)換是自動進行的。下面我們來看看一些自動類型轉(zhuǎn)換的規(guī)則。

      a. 整型和浮點型相加

      在PHP中,整型和浮點型相加時,會自動將整型轉(zhuǎn)換為浮點型,然后再相加。

      b. 字符串和數(shù)值型相加

      在PHP中,字符串和數(shù)值型相加時,會將字符串轉(zhuǎn)換為數(shù)值型,然后再相加。

      c. 數(shù)組和對象轉(zhuǎn)換

      在將一個數(shù)組或?qū)ο筠D(zhuǎn)換成另一種類型時,會將它們轉(zhuǎn)換成空的標準數(shù)組或標準對象。

      d. 布爾型和數(shù)值型和字符串相加

      在PHP中,布爾型和數(shù)值型和字符串相加時,會將它們轉(zhuǎn)換為字符串類型,然后再相加。

      4.類型檢測

      PHP提供了一些類型檢測的函數(shù),可以用來判斷一個變量的類型。下面我們來介紹一些常用的類型檢測函數(shù)。

      a. is_bool()

      is_bool($var)用來判斷一個變量是否是布爾型,如果是則返回true,否則返回false。

      b. is_object()

      is_object($var)用來判斷一個變量是否是對象,如果是則返回true,否則返回false。

      c. is_array()

      is_array($var)用來判斷一個變量是否是數(shù)組,如果是則返回true,否則返回false。

      d. is_string()

      is_string($var)用來判斷一個變量是否是字符串,如果是則返回true,否則返回false。

      e. is_numeric()

      is_numeric($var)用來判斷一個變量是否是數(shù)值型,如果是則返回true,否則返回false。

      5.總結(jié)

      本文介紹了PHP中的類型轉(zhuǎn)換和類型檢測,包括了強制類型轉(zhuǎn)換和自動類型轉(zhuǎn)換的規(guī)則以及一些類型檢測函數(shù)。在開發(fā)中,使用正確的類型轉(zhuǎn)換函數(shù)和類型檢測函數(shù)可以有效地避免類型轉(zhuǎn)換導致的問題。同時,在設(shè)計程序時,也應該注意變量類型的約束,減少弱類型特性對程序的負面影響。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號