<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### 1、echo、print、print_r/var_dump的區別 ``` echo():可以一次輸出多個值,多個值用逗號隔開,echo是語言結構,而并不是真正的函數,因此不 能作為表達式的一部分使用。 print():打印一個值(它的參數),如果字符串成功顯示則返回true,否則返回false print_r():可以把字符串和數字簡單地打印出來,而數組則以括起來的鍵和值得列表形式顯示,并以Array開頭 var_dump():判斷一個變量的類型與長度,并輸出變量的數值,如果變量有值輸的是變量的值并回返數據類型。此函數顯示關于一 個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。 ``` ### 2、include、include_once、require、require_once的區別 ``` include():使用include應用外部文件時,只有代碼執行到include語句時,外部文件才會被引入并讀取,當所引用的外部文件 發生錯誤時,系統只給出一個警告,而整個php文件則繼續向下執行。 include_once():使用include_once語句會在導入文件前先檢測該文件是否在該頁面的其他部分被應用過,如果有,則不會重復 引用該文件,程序只能引用一次。 require():使用require語句來調用文件時,如果調用的文件沒找到,require語句會輸出錯誤信息,并且立即終止腳本處理 require_once():使用require_once語句時,會先檢查要引用的文件是不是已經在該程序中的其他地方被引用過,如果有,則不 會在重復調用該文件,在同一個頁面中引用了兩個相同的文件,那么在輸出時,只有第一個文件被執行,第二次引用的文件 則不會被執行。 ``` ### 3、empty、isset、is_null的區別 ``` empty:如果 var 是非空或非零的值,則 empty() 返回 FALSE。換句話說,""、0、"0"、NULL、FALSE、array()、var $var; 以及沒有任何屬性的對象都將被認為是空的,如果 var 為空,則返回 TRUE isset: 檢測變量是否設置;如果 var 存在則返回 TRUE,否則返回 FALSE。如果已經使用 unset() 釋放了一個變量之后,它 將不再是 isset()。若使用 isset() 測試一個被設置成 NULL 的變量,將返回 FALSE。 is_null:當參數滿足下面三種情況時,將返回TRUE,其它的情況就是FALSE。 * 它被賦值為NULL * 它還沒有賦值 * 它未定義,相當于 unset(),將一個變量 unset()后,不就是沒有定義嗎 $myvar = NULL; var_dump(is_null($myvar)); // TRUE $myvar1; var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable $num = 520; unset($num); var_dump(is_null($num)); //TRUE Notice: Undefined variable var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable $myvar = 0; is_null($myvar); // FALSE $myvar = FALSE; is_null($myvar); // FALSE $myvar = ''; is_null($myvar); // FALSE ``` ### 4、雙引號和單引號的區別 ``` 一般情況下兩者是通用的.但雙引號內部變量會解析,單引號則不解析. 雙引號中的變量和特殊字符 (\r\n) 會被轉義,單引號中的內容不會被轉義 ``` ### 5、session和cookie的區別 ``` (1)cookie數據存放在客戶的瀏覽器上,session數據放在服務器上。 (2)cookie不是很安全,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙,考慮到安全應當使用session。 (3)單個cookie保存的數據不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie。 (4)session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能 考慮到減輕服務器性能方面,應當使用COOKIE ``` ### 6、get和post的區別 ``` (1)GET請求,請求的數據會附加在URL之后,以?分割URL和傳輸數據,多個參數用&連接; (2)POST請求:POST請求會把請求的數據放置在HTTP請求包的包體中。 (3)GET請求在URL中傳送的參數是有長度限制的,而POST沒有。 (4)POST相對于GET更加安全,因為參數直接暴露在URL上,所以不能用來傳遞敏感信息。 ``` ### 7、傳值與傳引用的區別 ``` 傳值:把實參的值賦值給形參,對形參的修改不會影響到實參的值 傳引用:真正的以地址的方式傳遞參數,傳遞以后,行參和實參都是同一個對象,對行參的修改將影響實參的值   ``` ### 8、==和===的區別、“!==”與“!=”的區別 ``` ===比較兩個變量的值和類型;==比較兩個變量的值,不比較數據類型。 ``` ### 9、->和=>的區別 ``` ->用來引用對象的成員(屬性與方法) =>只用來數組賦值 ``` ### 10、?? 與 ?:區別 ``` ?? :用于判斷并賦值,先判斷當前變量是否為null,如果是就可以賦一個新值 ?:常用于三元運算符,問號的作用是選擇條件作為程序繼續執行的分支 ``` ### 11、跳出循環:exit、return、break、continue之間的區別 ``` exit:用來結束程序執行的。可以用在任何地方,本身沒有跳出循環的含義。 return: (1)從當前的方法中退出,返回到該調用的方法的語句處,繼續執行。 (2)返回一個值給調用該方法的語句,返回值的數據類型必須與方法的聲明中的返回值的類型一致。 (3)return 后面也可以不帶參數,不帶參數就是返回空,其實主要目的就是用于想中斷函數執行,返回調用函數處。 break: (1)當它在循環體內,強行結束循環的執行,也就是結束整個循環過程,不在判斷執行循環的條件是否成立,直接轉 向循環語句下面的語句。 (2)當它出現在循環體中的switch語句體內時,其作用只是跳出該switch語句體。 continue:終止本次循環的執行,即跳過當前這次循環中continue語句后尚未執行的語句,接著進行下一次循環條件的判斷。 ``` ### 12、function_exists、method_exists、class_exists、property_exists、is_subclass_of 的區別 ``` function_exists( string $function_name ) : 函數用于檢測函數是否被定義,檢測的函數可以是 PHP 的內置函數,也可以 是用戶的自定義函數。如果被檢測的函數存在則返回 TRUE ,否則返回 FALSE 。 method_exists ( mixed $object , string $method_name ) :檢查類的方法是否存在于指定的 object中。如果檢測的方法存 在與指定的對象中,則返回true,否則返回false。 class_exists ( string $class_name [, bool $autoload = TRUE ] ) :檢查類是否被定義。第一個參數為檢測的類名(如果 使用了命名空間后,需要使用完整的帶命名空間的類名,如:app\admin\service\UserService ); class_exists()會默認將 會嘗試調用 _autoload,如果不想讓 class_exists() 調用_autoload,可以將 autoload 參數設為 FALSE。 property_exists([mixed] $class,string $property):判斷類或對象中的屬性是否存在(可無視屬性權限),存在返回true, 否則返回false,$class 可以是類名(字符串)或類對象,$property為屬性的名字 is_subclass_of ( object $object , string $class_name ):判斷一個對象是否為一個類的子類,返回bool值 ``` ### 13、PHP四種網頁重定向方式 ``` header('location:http://www.baidu.com'); echo '<meta http-equiv="refresh" content="1;http://www.baidu.com">'; echo '<script>window.location.href="http://www.baidu.com"</script>'; echo file_get_contents('http://www.baidu.com'); ``` ### 14、php三種合并數組的方式 ``` array_merge($arr, $arr_1); // 合并數組,如果健名為整數,鍵名會從 0 開始進行重新索引。 array_merge_recursive($arr, $arr_1); // 遞歸合并數組,不會進行鍵名覆蓋,而是將多個相同鍵名的值遞歸組成一個數組 $arr + $arr_1 // 保留鍵名,追加數組 ```
                  <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>

                              哎呀哎呀视频在线观看