<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 一、PHP基本語法 1. html和php混編 2. 語句以 ; 結尾(一個頁面少一個分號,整個頁面不運行) 3. 定義變量 4. 變量數據類型不是固定的,根據賦值類型而變化 5. php是弱數據類型 ## 二、8種數據類型 1. 基本類型:整型,浮點型,布爾型,字符串型 2. 復合類型:數組,對象 3. 特殊類型:null,資源 ### 整型 1. 整數值可以用十進制,十六進制(0x開頭),八進制(0開頭)表示 ~~~ //進制轉換 a=10,b=11,c=12,d=13,e=14,f=15 0x1a=10+1*16 0123=3+2*8+1*8*8 ~~~ 2. php的整數都是有符號的 3. 整型長度和平臺有關,通常4字節(PHP_INT_SIZE),最大值(PHP_INT_MAX) 1個字節8位,4個字節32位,有一位是符號位,所以最大值是2的31次方-1 4. 超出整型的數,自動變為浮點型 ### 布爾值 1. true,false不區分大小寫 2. 非0,非空字符串都是true 3. 以下為false 4. 布爾值false自身 * 整型0 * 浮點型0.0 * 空字符串,以及字符串“0” * 不包括任何元素的數組 * 不包括任何成員變量的對象 * 特殊類型null * 從空標記生成的simplexml對象 ### 浮點型 1. 浮點型也叫雙精度 2. 浮點數字長和平臺有關,一般是1.8e308,14位十進制精度 3. 小數的精度從第一個非0開始,到最后一個數會四舍五入 1. 浮點數運算中進行比較: * 使用round將其轉換為整數,再比較 ~~~ if(round($f*10000)==round(2.8*10000)) ~~~ * 使用絕對值的相差值,和一個極小的值比較 ~~~ if(abs($f-2.8)<0.00000000001) ~~~ *如果2個浮點數是直接賦值的數,可以直接比較 ### 字符串類型 1. PHP字符串最大2GB 2. 字符串常見定義方法: * 單引號 1)單引號不會解析$ 2)效率比較高 * 雙引號 1)會解析$ 2)執行效率沒有' '高 3)在" "解析含有特殊字符或數組,要用{}括起來 ~~~ $book="書名是:{$arr['name']}" ~~~ * heredoc語法結構(類似雙引號) 1)會解析$ 2)后面的定界值HTMLCON可以任意,一般大寫 3)HTMLCON后面不能有空格等任何內容 4)最后的HTMLCON; 要頂格寫,這一行前面不能有任何內容 ~~~ //一般用戶返回大段的html代碼 $div==<<<HTMLCON <h1>hello,................</h1>$num HTMLCON; ~~~ * nowdeo語法結構(類似單引號) 1)不解析$ ~~~ $div=<<<'HTMLCON' .................. HTMLCON ~~~ 1. 如果是雙引號,會解析轉義符 ~~~ \n \r \t \f \\ \$ \" \e \v //十六進制的值對應的ascii字符 ,8進制對應的ascii字符 如: \x40 //16進制 @ \132 //十進制 Z \101 //8進制 A ~~~ ### 編碼 * ascii碼:最早126個,表示圖形a-z,@等各種符號 * 后來更多字符,沒法表示,就產生gbk,gb2312,utf8,unicode等 1. PHP執行雙引號,如果發現有$變量 1. 先會找到$變量的值 2. 如果值的后面有(),嘗試去執行這個函數 3. 如果沒有函數,會報錯 ~~~ echo "{$abc()}"; ~~~ **原則:** * 考慮效率,用單引號 * 如果返回的是大段html代碼,用heredoc,nowdoc * 如果拼接sql語句,里面有大量變量,用雙引號 * * * * * ### 數據類型轉換 * 自動轉換 * 強制轉換 #### 自動轉換 進行運算的時候,數據自動向高進度轉換 **布爾值>int>float** int+boolen=int boolen+float=float #### 強制轉換 1. setType(變量名,類型); 任意類型(string,null,obejct,array,number,boolean,float) 2. (類型)變量 3. intval(變量),floatval(變量),strval(變量),booleanval(變量),doubleval(變量); ~~~ $a=10; setType($a,"array"); var_dump($a); ~~~ ~~~ $a=10; $b=(string)$a; //$a的類型不變 var_dump($b); ~~~ ~~~ $a=10; $b=floatval($a); //不改變變量本身的類型 var_dump($b); ~~~ **3種轉換類型的選擇** * 是否要改變本身的類型setType * val方式沒有數組等方法,沒有復雜類型轉換 ### 變量相關函數 * isset();是否設置,并且不是null * unset();銷毀變量 * empty(); 變量是否為空,可以判斷0,空的"" * gettype();返回某個變量對應的數據類型 * is_int(),is_array(),is_bool,is_null,is_long,is_object,is_string ![](https://box.kancloud.cn/8486fa03877f962ab27aebc4fbd7139f_167x238.png) * * * * * **empty和isset區別:** 如果不能接受0,就用empty isset配合&&數據合法性 只要是表單,提交后都是string,使用strpos,查找字符串首次出現的位置 is_numeric判斷是否數字或是數字字符串 ~~~ //isset $a=10; if(isset($a)){ echo '$a存在,并且不為null'; }else{ echo "不存在"; } ~~~ ~~~ //unset $a=10; unset($a); if(isset($a)){ echo '$a存在,并且不為null'; } ~~~ ~~~ //gettype $a=444.333; echo gettype($a); ~~~ * * * * * **細節:** unset() unset銷毀指定變量 如果在函數中使用unset,銷毀的只是局部變量 ~~~ $a=111; function box(){ global $a; unset($a); $a=333; //unset($a); } box(); echo $a; //333 ~~~ ### 全局變量GLOBALS ~~~ $book='西游記'; var_dump($GLOBALS); ~~~ 在函數中銷毀全局變量$GLOBALS,直接干掉存儲變量的空間 ~~~ $book='西游記'; function box(){ unset($GLOBALS['book']); } box(); echo $book; ~~~ **empty** 1.非空,或非0返回false 2.否則返回true 0,"0",false,null,array(),以及沒有任何屬性的對象 ### 引用傳遞和值傳遞 PHP默認都是值傳遞,但也可以指定引用傳遞& 引用傳遞,指向的是同一個內存地址 對象,數組也是按值傳遞 ~~~ $a=10; $b=&$a; $b=20; echo $a; ~~~ ![](https://box.kancloud.cn/b6b7c0fcc5832a8f06c5ecd5543e0728_443x321.png) ### 變量定義規范 一般是字母,下劃線開頭 不能以數字開頭 變量區分大小寫,函數不區分大小寫 **命名方式:** * 駝峰法 * 下劃線法 * 每個單詞大寫
                  <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>

                              哎呀哎呀视频在线观看