国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > PHP > 正文

PHP手冊(cè)學(xué)習(xí)

2019-11-09 19:58:19
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
php 也允許使用短標(biāo)記 <? 和 ?>,但不鼓勵(lì)使用。只有通過(guò)激活 php.ini 中的 short_open_tag 配置指令或者在編譯 PHP 時(shí)使用了配置選項(xiàng) –enable-short-tags 時(shí)才能使用短標(biāo)記。如果文件內(nèi)容是純 PHP 代碼,最好在文件末尾刪除 PHP 結(jié)束標(biāo)記。這可以避免在 PHP 結(jié)束標(biāo)記之后萬(wàn)一意外加入了空格或者換行符,會(huì)導(dǎo)致 PHP 開(kāi)始輸出這些空白,而腳本中此時(shí)并無(wú)輸出的意圖。可以在 PHP 中使用四對(duì)不同的開(kāi)始和結(jié)束標(biāo)記。其中兩種,<?php ?><script language="php"> </script> 總是可用的。另兩種是短標(biāo)記和 asp 風(fēng)格標(biāo)記,可以在 php.ini 配置文件中打開(kāi)或關(guān)閉。盡管有些人覺(jué)得短標(biāo)記和 ASP 風(fēng)格標(biāo)記很方便,但移植性較差,通常不推薦使用。 Note: 此外注意如果將 PHP 嵌入到 xml 或 XHTML 中則需要使用 <?php ?>標(biāo)記以保持符合標(biāo)準(zhǔn)。如果想查看某個(gè)表達(dá)式的值和類型,用 var_dump() 函數(shù)。 如果只是想得到一個(gè)易讀懂的類型的表達(dá)方式用于調(diào)試,用 gettype()函數(shù)。要查看某個(gè)類型,不要用gettype(),而用 is_type 函數(shù)。以下是一些范例:<?php$a_bool = TRUE; // a boolean$a_str = "foo"; // a string$a_str2 = 'foo'; // a string$an_int = 12; // an integerecho gettype($a_bool); // PRints out: booleanecho gettype($a_str); // prints out: string// If this is an integer, increment it by fourif (is_int($an_int)) { $an_int += 4;}// If $bool is a string, print it out// (does not print out anything)if (is_string($a_bool)) { echo "String: $a_bool";}?>如果要將一個(gè)變量強(qiáng)制轉(zhuǎn)換為某類型,可以對(duì)其使用強(qiáng)制轉(zhuǎn)換或者settype()函數(shù)。通常運(yùn)算符所返回的 boolean 值結(jié)果會(huì)被傳遞給控制流程。要明確地將一個(gè)值轉(zhuǎn)換成 boolean,用 (bool) 或者 (boolean) 來(lái)強(qiáng)制轉(zhuǎn)換。但是很多情況下不需要用強(qiáng)制轉(zhuǎn)換,因?yàn)楫?dāng)運(yùn)算符,函數(shù)或者流程控制結(jié)構(gòu)需要一個(gè) boolean 參數(shù)時(shí),該值會(huì)被自動(dòng)轉(zhuǎn)換-1 和其它非零值(不論正負(fù))一樣,被認(rèn)為是 TRUE!var_dump((bool) ""); // bool(false)var_dump((bool) 1); // bool(true)var_dump((bool) -1); // bool(true)var_dump((bool) "foo"); // bool(true)var_dump((bool) 2.3e5); // bool(true)var_dump((bool) array(12)); // bool(true)var_dump((bool) array()); // bool(false)var_dump((bool) "false"); // bool(true)

結(jié)果

bool(false)bool(true)bool(true)bool(true)bool(true)bool(true)bool(false)bool(true)一個(gè) integer 是集合 ? = {…, -2, -1, 0, 1, 2, …} 中的一個(gè)數(shù)。GMP for PHP 和 GMP函數(shù)$a = 1234; // 十進(jìn)制數(shù)$a = -123; // 負(fù)數(shù)$a = 0123; // 八進(jìn)制數(shù) (等于十進(jìn)制 83)$a = 0x1A; // 十六進(jìn)制數(shù) (等于十進(jìn)制 26)如果給定的一個(gè)數(shù)超出了 integer 的范圍,將會(huì)被解釋為 float。同樣如果執(zhí)行的運(yùn)算結(jié)果超出了 integer 范圍,也會(huì)返回 float。 下面是32位的溢出$large_number = 2147483647;var_dump($large_number); // int(2147483647)$large_number = 2147483648;var_dump($large_number); // float(2147483648)$million = 1000000;$large_number = 50000 * $million;var_dump($large_number); // float(50000000000)int(2147483647)double(2147483648)double(50000000000)

64位的溢出

$large_number = 9223372036854775807;var_dump($large_number); // int(9223372036854775807)$large_number = 9223372036854775808;var_dump($large_number); // float(9.2233720368548E+18)$million = 1000000;$large_number = 50000000000000 * $million;var_dump($large_number); // float(5.0E+19)double(9.2233720368548E+18)double(9.2233720368548E+18)double(5.0E+19)PHP 中沒(méi)有整除的運(yùn)算符。1/2 產(chǎn)生出 float 0.5。值可以舍棄小數(shù)部分強(qiáng)制轉(zhuǎn)換為 integer,或者使用 round() 函數(shù)可以更好地進(jìn)行四舍五入。var_dump(25/7); // float(3.5714285714286)var_dump((int) (25/7)); // int(3)var_dump(round(25/7)); // double(4)永遠(yuǎn)不要相信浮點(diǎn)數(shù)結(jié)果精確到了最后一位,也永遠(yuǎn)不要比較兩個(gè)浮點(diǎn)數(shù)是否相等。如果確實(shí)需要更高的精度,應(yīng)該使用任意精度數(shù)學(xué)函數(shù)或者gmp 函數(shù) 。某些數(shù)學(xué)運(yùn)算會(huì)產(chǎn)生一個(gè)由常量 NAN 所代表的結(jié)果。此結(jié)果代表著一個(gè)在浮點(diǎn)數(shù)運(yùn)算中未定義或不可表述的值。任何拿此值與其它任何值進(jìn)行的松散或嚴(yán)格比較的結(jié)果都是 FALSE。由于 NAN 代表著任何不同值,不應(yīng)拿 NAN 去和其它值進(jìn)行比較,包括其自身,應(yīng)該用 is_nan() 來(lái)檢查。Heredoc 結(jié)構(gòu) 第三種表達(dá)字符串的方法是用 heredoc 句法結(jié)構(gòu):<<<。在該運(yùn)算符之后要提供一個(gè)標(biāo)識(shí)符,然后換行。接下來(lái)是字符串 string 本身,最后要用前面定義的標(biāo)識(shí)符作為結(jié)束標(biāo)志。 結(jié)束時(shí)所引用的標(biāo)識(shí)符必須在該行的第一列,而且,標(biāo)識(shí)符的命名也要像其它標(biāo)簽一樣遵守 PHP 的規(guī)則:只能包含字母、數(shù)字和下劃線,并且必須以字母和下劃線作為開(kāi)頭。<?php/** * Created by Zoe. * User: Administrator * Date: 2017/2/8 * Time: 9:16 */$str = <<<EODExample of stringspanning multiple linesusing heredoc syntax.EOD;/* 含有變量的更復(fù)雜示例 */class foo{ var $foo; var $bar; function foo() { $this->foo = 'Foods'; $this->bar = array('apple', 'strawberry', 'watermelon'); }}$foo = new foo();$name = 'Zoe';echo <<<EOTMy name is "$name". I am printing some $foo->foo.Now, I am printing some {$foo->bar[1]}.This should print a capital 'A': /x41EOT;My name is "Zoe". I am printing some Foods.Now, I am printing some strawberry.This should print a capital 'A': AProcess finished with exit code 0數(shù)組 <?php$array = array( "foo" => "bar", "bar" => "foo",);// 自 PHP 5.4 起$array = [ "foo" => "bar", "bar" => "foo",];?>如果在數(shù)組定義中多個(gè)單元都使用了同一個(gè)鍵名,則只使用了最后一個(gè),之前的都被覆蓋了。PHP 數(shù)組可以同時(shí)含有 integer 和 string 類型的鍵名,因?yàn)?PHP 實(shí)際并不區(qū)分索引數(shù)組和關(guān)聯(lián)數(shù)組。數(shù)組單元可以通過(guò) array[key] 語(yǔ)法來(lái)訪問(wèn)。方括號(hào)和花括號(hào)可以互換使用來(lái)訪問(wèn)數(shù)組單元(例如 array[42]和array{42} 在上例中效果相同)。自 PHP 5.4 起可以用數(shù)組間接引用函數(shù)或方法調(diào)用的結(jié)果。之前只能通過(guò)一個(gè)臨時(shí)變量。自 PHP 5.5 起可以用數(shù)組間接引用一個(gè)數(shù)組原型。初始化變量的最好方式是直接給其賦值。。要修改某個(gè)值,通過(guò)其鍵名給該單元賦一個(gè)新值。要?jiǎng)h除某鍵值對(duì),對(duì)其調(diào)用 unset() 函數(shù)。// 創(chuàng)建一個(gè)簡(jiǎn)單的數(shù)組$array = array(1, 2, 3, 4, 5);print_r($array);// 現(xiàn)在刪除其中的所有元素,但保持?jǐn)?shù)組本身不變:foreach ($array as $i => $value) { unset($array[$i]);}print_r($array);// 添加一個(gè)單元(注意新的鍵名是 5,而不是你可能以為的 0)$array[] = 6;print_r($array);// 重新索引:$array = array_values($array);$array[] = 7;print_r($array);Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5)Array()Array( [5] => 6)Array( [0] => 6 [1] => 7)unset() 函數(shù)允許刪除數(shù)組中的某個(gè)鍵。但要注意數(shù)組將不會(huì)重建索引。如果需要?jiǎng)h除后重建索引,可以用 array_values() 函數(shù)foreach 控制結(jié)構(gòu)是專門(mén)用于數(shù)組的。它提供了一個(gè)簡(jiǎn)單的方法來(lái)遍歷數(shù)組。在方括號(hào)(“[”和“]”)之間必須有一個(gè)表達(dá)式。重申一次,在雙引號(hào)字符串中,不給索引加上引號(hào)是合法的因此 "$foo[bar]" 是合法的(“合法”的原文為 valid。在實(shí)際測(cè)試中,這么做確實(shí)可以訪問(wèn)數(shù)組的該元素,但是會(huì)報(bào)一個(gè)常量未定義的 notice。無(wú)論如何,強(qiáng)烈建議不要使用 $foo[bar]這樣的寫(xiě)法,而要使用 $foo[‘bar’] 來(lái)訪問(wèn)數(shù)組中元素。–haohappy 注)。至于為什么參見(jiàn)以上的例子和字符串中的變量解析中的解釋.可以用 array_diff() 和數(shù)組運(yùn)算符來(lái)比較數(shù)組。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 谷城县| 花莲县| 高州市| 龙里县| 广汉市| 武城县| 清远市| 武穴市| 彰化市| 西青区| 开封市| 揭阳市| 乌拉特后旗| 渑池县| 湟中县| 建平县| 汤原县| 延安市| 卢氏县| 灵川县| 昌图县| 横山县| 奉新县| 咸阳市| 邳州市| 将乐县| 濮阳县| 华坪县| 正宁县| 嘉义县| 钟山县| 英德市| 诸暨市| 太原市| 桑日县| 卓资县| 济宁市| 简阳市| 惠州市| 茶陵县| 惠州市|