<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # PHP 數據類型 > 原文: [https://zetcode.com/lang/php/datatypes/](https://zetcode.com/lang/php/datatypes/) 在 PHP 教程的這一部分中,我們將討論數據類型。 計算機程序可以處理數據。 用于各種數據類型的工具是現代計算機語言的基本組成部分。 `data type`是一組值以及對這些值的允許操作。 ## PHP 數據類型列表 PHP 具有八種數據類型: 標量類型 * `bool` * `int` * `float` * `string` 復合類型 * `array` * `object` 特殊類型 * `resources` * `null` 與 Java,C 或 Visual Basic 等語言不同,PHP 中沒有提供變量的顯式類型定義。 變量的類型在運行時由 PHP 確定。 如果我們將字符串分配給變量,它將變成字符串變量。 稍后,如果我們分配一個整數值,該變量將成為一個整數變量。 ## PHP 布爾值 我們的世界建立了雙重性。 有天與地,水與火,陰與陽,男人與女人,愛與恨。 在 PHP 中,布爾數據類型是具有以下兩個值之一的原始數據類型:`True`或`False`。 這是基本的數據類型。 快樂的父母正在等待孩子的出生。 他們為兩種可能性都選擇了名稱。 如果要成為男孩,他們選擇了約翰。 如果要成為女孩,他們會選擇維多利亞。 `kid.php` ```php <?php $male = False; $r = rand(0, 1); $male = $r ? True: False; if ($male) { echo "We will use name John\n"; } else { echo "We will use name Victoria\n"; } ``` 該腳本使用隨機整數生成器來模擬我們的情況。 ```php $r = rand(0, 1); ``` `rand()`函數從給定的整數邊界返回一個隨機數。 在我們的情況下為 0 或 1。 ```php $male = $r ? True: False; ``` 我們使用三元運算符設置`$male`變量。 該變量基于隨機`$r`值。 如果`$r`等于 1,則`$male`變量設置為`True`。 如果`$r`等于 0,則`$male`變量設置為`False`。 ```php if ($male) { echo "We will use name John\n"; } else { echo "We will use name Victoria\n"; } ``` 我們打印名稱。 `if`命令適用于布爾值。 如果變量`$male`為`True`,則將`"We will use name John"`打印到控制臺。 如果其值為`False`,我們將打印另一個字符串。 ```php $ php kid.php We will use name Victoria $ php kid.php We will use name John $ php kid.php We will use name Victoria $ php kid.php We will use name Victoria ``` 該腳本運行了幾次。 以下腳本顯示了一些視為`True`或`False`的常見值。 例如,空字符串,空數組,0 被認為是`False`。 `boolean.php` ```php <?php class Object {}; var_dump((bool) ""); var_dump((bool) 0); var_dump((bool) -1); var_dump((bool) "PHP"); var_dump((bool) array(32)); var_dump((bool) array()); var_dump((bool) "false"); var_dump((bool) new Object()); var_dump((bool) NULL); ``` 在此腳本中,我們在布爾上下文中檢查一些值。 `var_dump()`函數顯示有關變量的信息。 `(bool)`構建體稱為轉換。 在它的臨時上下文中,0 值是一個數字。 在布爾上下文中,它為`False`。 布爾上下文是當我們使用(布爾)強制轉換,何時使用某些運算符(否定,比較運算符)以及何時使用`if/else`,`while`關鍵字時。 ```php $ php boolean.php bool(false) bool(false) bool(true) bool(true) bool(true) bool(false) bool(true) bool(true) bool(false) ``` 這是腳本的結果。 ## PHP 整數 整數是實數的子集。 它們寫時沒有小數或小數部分。 整數落在集合`Z = {...,-2,-1,0,1,2,...}`中。 整數是無限的。 在許多計算機語言中,整數是原始數據類型。 實際上,計算機只能使用整數值的子集,因為計算機的容量有限。 整數用于計算離散實體。 我們可以有 3、4、6 個人,但不能有 3.33 個人。 我們可以有 3.33 公斤。 在 PHP 中,可以使用四種不同的表示法指定整數:十進制,十六進制,八進制和二進制。 八進制值以`0`開頭,十六進制以`0x`開頭,二進制以`0b`開頭。 `notation.php` ```php <?php $decimal_var = 31; $octal_var = 031; $hexadecimal_var = 0x31; $binary_var = 0b01001110; echo "$decimal_var\n"; echo "$octal_var\n"; echo "$hexadecimal_var\n"; echo "$binary_var\n"; ``` 我們定義了四個變量; 它們每個都有不同的整數符號。 ```php $ php notation.php 31 25 49 78 ``` 默認符號是十進制。 腳本以十進制打印這四個數字。 PHP 中的整數具有固定的最大大小。 整數的大小取決于平臺。 PHP 具有內置常量,可顯示整數的最大大小。 ```php $ uname -mo x86_64 GNU/Linux $ php -a Interactive mode enabled php> echo PHP_INT_SIZE; 8 php> echo PHP_INT_MAX; 9223372036854775807 ``` 在我的 64 位 Ubuntu Linux 系統上,整數值為 8 個字節。 最大值是 9223372036854775807。 在 Java 和 C 中,如果整數值大于允許的最大值,則發生整數溢出。 PHP 的工作方式不同。 在 PHP 中,整數變為浮點數。 浮點數具有更大的邊界。 `boundary.php` ```php <?php $var = PHP_INT_MAX; echo var_dump($var); $var++; echo var_dump($var); ``` 我們為`$var`變量分配一個最大整數值。 我們將變量增加一。 `var_dump()`函數轉儲有關給定變量的信息。 ```php $ php boundary.php int(9223372036854775807) float(9.2233720368548E+18) ``` 如前所述,在內部,數字成為浮點值。 在 Java 中,增加后的值為-2147483648。 這是整數溢出一詞的來歷。 該數字超過頂部并成為可分配給變量的最小負整數值。 如果我們使用整數,那么我們將處理離散實體。 例如,我們將使用整數來計算蘋果。 `apples.php` ```php <?php # number of baskets $baskets = 16; # number of apples in each basket $apples_in_basket = 24; # total number of apples $total = $baskets * $apples_in_basket; echo "There are total of $total apples \n"; ``` 在腳本中,我們計算了蘋果的總量。 我們使用乘法運算。 ```php $ php apples.php There are total of 384 apples ``` 腳本的輸出。 ## PHP 浮點數 浮點數表示計算中的實數。 實數測量連續的數量,例如重量,高度或速度。 PHP 中的浮點數可以大于整數,并且可以具有小數點。 浮標的大小取決于平臺。 我們可以使用各種語法來創建浮點值。 `floats.php` ```php <?php $a = 1.245; $b = 1.2e3; $c = 2E-10; $d = 1264275425335735; var_dump($a); var_dump($b); var_dump($c); var_dump($d); ``` 在此示例中,我們有兩種表示法的情況,科學家使用它們來表示浮點值。 另外`$d`變量被分配了一個大數字,因此它會自動轉換為浮點型。 ```php $ php floats.php float(1.245) float(1200) float(2.0E-10) int(1264275425335735) ``` 這是上述腳本的示例輸出。 根據文檔,不應對浮點數進行相等性測試。 我們將舉例說明為什么。 ```php $ php -a Interactive mode enabled php> echo 1/3; 0.33333333333333 php> $var = (0.33333333333333 == 1/3); php> var_dump($var); bool(false) ``` 在此示例中,我們比較了兩個看起來相同的值,但是它們產生了意外的結果。 假設一個短跑運動員跑了 100m,跑了 9.87s。 他的公里/小時速度是多少? `sprinter.php` ```php <?php # 100m is 0.1 km $distance = 0.1; # 9.87s is 9.87/60*60 h $time = 9.87 / 3600; $speed = $distance / $time; echo "The average speed of a sprinter is $speed \n"; ``` 在此示例中,必須使用浮點值。 ```php $speed = $distance / $time; ``` 為了獲得速度,我們將距離除以時間。 ```php $ php sprinter.php The average speed of a sprinter is 36.474164133739 ``` 這是`sprinter`腳本的輸出。 36.474164133739 是浮點數。 通常需要舍入浮點數。 `rounding.php` ```php <?php $a = 1.4567; echo round($a, 2) . "\n"; echo round($a, 3) . "\n"; echo sprintf("%0.3f", $a) . "\n" ; ``` In this example, it is necessary to use floating point values. ```php echo round($a, 2) . "\n"; echo round($a, 3) . "\n"; ``` 使用`round()`函數,將浮點值四舍五入到兩個和三個位置。 ```php echo sprintf("%0.3f", $a) . "\n" ; ``` 或者,我們也可以使用`sprintf()`函數,該函數根據指定的格式化字符串對字符串進行格式化。 ```php $ php rounding.php 1.46 1.457 1.457 ``` 這是`rounding.php`腳本的輸出。 ## PHP 字符串 字符串是一種數據類型,表示計算機程序中的文本數據。 由于字符串在每種編程語言中都非常重要,因此我們將為它們專門整整一章。 在這里,我們僅舉一個小例子。 `strings.php` ```php <?php $a = "PHP "; $b = 'Perl'; echo $a, $b; echo "\n"; ``` 我們可以使用單引號和雙引號來創建字符串字面值。 ```php $ php strings.php PHP Perl ``` 該腳本將兩個字符串輸出到控制臺。 `\n`是一個特殊的序列,換行。 此字符的效果就像在鍵入文本時按`Enter`鍵一樣。 ## PHP 數組 數組是處理元素集合的復雜數據類型。 每個元素都可以通過索引訪問。 在 PHP 中,數組更為復雜。 數組可以視為數組,列表或字典。 換句話說,數組在其他語言中都是我們所謂的數組,列表,字典。 由于集合在所有計算機語言中都非常重要,因此我們將兩章專門介紹集合-數組。 這里我們僅顯示一個小例子。 `arrays.php` ```php <?php $names = [ "Jane", "Lucy", "Timea", "Beky", "Lenka" ]; print_r($names); ``` 使用速記符號創建一個數組,在此使用方括號。 數組的元素用逗號分隔。 元素是字符串。 `print_r()`函數將有關變量的人類可讀信息打印到控制臺。 ```php $ php arrays.php Array ( [0] => Jane [1] => Lucy [2] => Timea [3] => Beky [4] => Lenka ) ``` 這是腳本的輸出。 這些數字是指數,我們可以通過它們訪問數組元素。 ## PHP 對象 到目前為止,我們一直在討論內置數據類型。 對象是用戶定義的數據類型。 程序員可以創建適合其域的數據類型。 在有關面向對象的程序設計(OOP)的一章中,有關對象的更多信息。 ## PHP 資源 資源是特殊的數據類型。 他們擁有對外部資源的引用。 它們是由特殊功能創建的。 資源是打開文件,數據庫連接或圖像畫布區域的處理器。 ## PHP `NULL` 還有另一種特殊的數據類型-`NULL`。 基本上,數據類型表示不存在,未知或為空。 在 PHP 中,在三種情況下,變量為`NULL`: * 它沒有分配值 * 它被分配了一個特殊的`NULL`常量 * 它是用`unset()`函數取消設置的 `nulltype.php` ```php <?php $a; $b = NULL; $c = 1; unset($c); $d = 2; if (is_null($a)) echo "\$a is null\n"; if (is_null($b)) echo "\$b is null\n"; if (is_null($c)) echo "\$c is null\n"; if (is_null($d)) echo "\$d is null\n"; ``` 在我們的示例中,我們有四個變量。 其中三個被認為是`NULL`。 我們使用`is_null()`函數來確定變量是否為`NULL`。 ```php $ php nulltype.php $a is null $b is null $c is null ``` 這是腳本的結果。 ## PHP 類型轉換 我們經常一次處理多種數據類型。 將一種數據類型轉換為另一種數據類型是編程中的常見工作。 類型轉換或類型轉換是指將一種數據類型的實體更改為另一種。 有兩種轉換類型:隱式轉換和顯式轉換。 隱式類型轉換,也稱為強制轉換,是編譯器自動進行的類型轉換。 ```php php> echo "45" + 12; 57 php> echo 12 + 12.4; 24.4 ``` 在上面的示例中,我們有兩個隱式類型轉換的示例。 在第一個語句中,字符串將轉換為整數并添加到第二個操作數。 如果兩個操作數中的任何一個都是浮點數,則兩個操作數都將被求值為浮點數,結果將是一個浮點數。 當我們使用諸如`(boolean)`之類的強制轉換構造時,會發生顯式轉換。 ```php php> $a = 12.43; php> var_dump($a); float(12.43) php> $a = (integer) $a; php> var_dump($a); int(12) php> $a = (string) $a; php> var_dump($a); string(2) "12" php> $a = (boolean) $a; php> var_dump($a); bool(true) ``` 此代碼段顯示了實際的強制轉換。 首先,我們將浮點值分配給變量。 稍后我們將其轉換為整數,字符串,最后轉換為布爾數據類型。 在 PHP 教程的這一部分中,我們介紹了 PHP 數據類型。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看