国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP其他知識集合

李濤 / 3457人閱讀

摘要:引用傳遞除了對象和資源,其他類型的引用傳遞都是指向同樣的數(shù)據(jù),各自互相影響。與基本用法一致,但區(qū)別如下沒有返回值,有返回值可以輸出多個參數(shù),只可以輸出一個參數(shù)是函數(shù),可以打印復(fù)合類型,例如等,主要用于數(shù)組打印是函數(shù),把文字格式化以后輸出。

命令行執(zhí)行PHP代碼三種方式

1、/usr/local/php/bin/php 后面跟上某個PHP文件

2、/usr/local/php/bin/php -r “這里直接寫上PHP代碼”

3、創(chuàng)建一個文件,在第一行寫上下面代碼

   #! /usr/local/php/bin/php 
   

命令行傳參

兩個全局變量
$argc和$argv

php -v 通過$argv[1]可以獲取到-v

PHP換行

在控制臺輸入換行
windows系統(tǒng)是 ,linux系統(tǒng)是 ,一般直接使用PHP_EOL

在HTML里面換行
輸入

對象(資源)傳遞

值傳遞
除了對象和資源,其他類型的值傳遞都是數(shù)據(jù)拷貝,各自獨立。
而對象和資源的值傳遞很特別,看起來很像引用傳遞,但其實只是中間多了一個對象標(biāo)識。

引用傳遞
除了對象和資源,其他類型的引用傳遞都是指向同樣的數(shù)據(jù),各自互相影響。
而對象和資源的引用傳遞都是指向中間的對象標(biāo)識。

對象數(shù)組的json化

對象與關(guān)聯(lián)數(shù)組的json_encode()都會轉(zhuǎn)化成{"name":value}字符串形式,只有純索引數(shù)組才會轉(zhuǎn)化成[value1,value2]字符串形式

對象數(shù)組的字符串使用json_decode()會轉(zhuǎn)成對象數(shù)組,如果使用json_decode($strArr,true)會轉(zhuǎn)成二維數(shù)組

Linux與Win文件路徑分隔符

windows使用的是

linux使用的是 /

在PHP提供了一個內(nèi)置常量解決不同系統(tǒng)中路徑的問題:DIRECTORY_SEPARATOR

linux只可以使用 /,而windows 兩種都可以使用,所以一般都轉(zhuǎn)換成linux的分隔符

str_replace("", "/", __FILE__)
Linux、Mac與Win 文本換行符

在unix系列用

在windows系列用

在mac用

PHP提供PHP_EOL來替代,以提高代碼的源代碼級可移植性

echo PHP_EOL;
           //windows平臺相當(dāng)于    echo "
";
           //unixlinux平臺相當(dāng)于    echo "
";
           //mac平臺相當(dāng)于    echo "
";
父類中也可以調(diào)用子類的方法(使用反射)

在父類中定義(_initialize()父類中沒有)

   public function __construct() {
         //控制器初始化
         if(method_exists($this,"_initialize"))
         $this->_initialize();
    }

在子類中定義_initialize()方法

最后再實例化子類時,就會在父類的構(gòu)造函數(shù)中調(diào)用子類定義的方法

防止頁面超時

set_time_limit ( int $seconds ) //設(shè)置腳本最大執(zhí)行時間

設(shè)置允許腳本運行的時間,單位為秒。如果超過了此設(shè)置,腳本返回一個致命的錯誤。默認(rèn)值為30秒

PHP中超全局變量$GLOBALS和global的區(qū)別

$GLOBALS是外部的全局變量本身

global是外部全局變量的同名引用或者指針



PHP中的錯誤抑制符@的使用

@的作用:只是不讓系統(tǒng)報錯,屏蔽了錯誤

@的適用:變量,函數(shù)和 include 調(diào)用,常量

@的應(yīng)用:
出錯了對你影響不大, 你也不關(guān)心這個錯誤是什么, 你也不會安排額外的邏輯來處理這種錯誤, 那么你可以使用錯誤抑制. 否則, 請你使用額外的邏輯來判斷錯誤。
PHP一般異常處理:最重要是要捕獲到異常,然后做一些特殊處理

@的例子:

@include("file");
//等同
$foo = error_reporting(0);
include("file");
error_reporting($foo);
//所以很多步驟都重復(fù)了,所以盡量少用,避免開銷
PHP類內(nèi)部調(diào)用類外部定義的變量(3種方式),實現(xiàn)在類中引用外部定義的全局變量

通過傳遞外部參數(shù)到類內(nèi)部

url = $url;
                }
                function showUrl(){
                        echo $this->url;
                }
        }
        
        $test = new test($url);
        $test->showUrl();
?>

在PHP類方法中使用global關(guān)鍵字直接引用類外部變量

url = $url;
                        echo $this->url;
                }
        }
        
        $test = new test($url);
        $test->showUrl();
?>

在PHP類方法中直接使用$GLOBALS全局?jǐn)?shù)組引用類外部變量

url = isset($GLOBALS["url"])?$GLOBALS["url"]:"";
                        echo $this->url;
                }
        }
        
        $test = new test($url);
        $test->showUrl();
?>
PHP性能優(yōu)化

少寫PHP代碼,多用PHP自身能力(內(nèi)置變量、常量、函數(shù))

PHP內(nèi)置函數(shù)的性能優(yōu)劣選擇

建議不要使用錯誤抑制符@

減少計算密集型業(yè)務(wù)

避免在循環(huán)內(nèi)循環(huán)條件做運算

htmlentities()和htmlspecialchars()區(qū)別

htmlspecialchars() 只轉(zhuǎn)化html的5種字符

&   &

"   "

"   ' (for ENT_HTML401) or ' (for ENT_XML1, ENT_XHTML or ENT_HTML5), but only when ENT_QUOTES is set 

<   <

>   >

htmlentities() 轉(zhuǎn)化所有的html代碼,除上面5種字符以外,中文也會轉(zhuǎn)化成html實體

$str="測試頁面"; 
echo htmlentities($str);  // 2aê?ò3?? 

$str="測試頁面"; 
echo htmlspecialchars($str);  // 測試頁面 

有中文的時候,最好用 htmlspecialchars ,否則可能亂碼

htmlspecialchars() 對應(yīng) htmlspecialchars_decode()

htmlentities() 對應(yīng) html_entity_decode()

$_POST、$HTTP_RAW_POST_DATA與php://input的區(qū)別

由于$HTTP_RAW_POST_DATAphp://input作用一樣,但區(qū)別如下:

1、$HTTP_RAW_POST_DATA 需要配置 php.ini 中的 always_populate_raw_post_data 值為 On 才會生效,而 php://input 無需配置就生效
2、當(dāng) $_POSTphp://input 可以取到值時 $HTTP_RAW_POST_DATA 為空
3、$HTTP_RAW_POST_DATA 從php5.6起就開始過時了,并在php7.0中正式刪除,而用 php://input 替代

相同點:
1、不能用于 enctype="multipart/form-data"(也叫Content-Type)

$_POSTphp://input 的區(qū)別如下:

1、Content-typeapplication/x-www.form-urlencodedmultipart/form-data時,$_POST才有值,得到的數(shù)據(jù)是經(jīng)過urldecode解碼處理
2、除了Content-typemultipart/form-data時,php://input沒值以外,其他情況都有值,例如:application/json、text/xml、text/plain
3、文件上傳只能通過$_POST獲取值
4、其他方式如:put/delete,也只能通過php://input獲取

instanceof使用注意

判斷對象是否屬于某類,此類可以是父類、爺類就會返回true,否則返回false

echo、print、print_r()、printf()、sprintf()、var_dump()區(qū)別

echo :是語句不是函數(shù),沒有返回值,可輸出多個變量值,不能輸出數(shù)組和對象,只能打印簡單類型(如int,string,bool,float,null)。

print :是語句不是函數(shù),有返回值 1 ,只能輸出一個變量,不能輸出數(shù)組和對象,只能打印簡單類型(如int,string,bool,float,null)。

echo與print基本用法一致,但區(qū)別如下:
1、echo沒有返回值,print有返回值
2、echo可以輸出多個參數(shù),print只可以輸出一個參數(shù)


print_r :是函數(shù),可以打印復(fù)合類型,例如:array、object等,主要用于數(shù)組打印

printf :是函數(shù),把文字格式化以后輸出。

sprintf :是函數(shù),不打印,而是返回格式化后的文字,其他的與printf一樣。

var_dump :是函數(shù),輸出變量的內(nèi)容、類型或字符串的內(nèi)容、類型、長度。常用來調(diào)試。

運算符 &、|、&&、|| 之間的區(qū)別

& :位與運算符,返回是int數(shù)據(jù)類型

| :位或運算符,返回是int數(shù)據(jù)類型

//位與或位或時 數(shù)據(jù)類型轉(zhuǎn)換
TRUE => 1
FALSE => 0
""與"0" => 0  //按字符串轉(zhuǎn)數(shù)值類型的規(guī)矩
[] => 0   
非空數(shù)組 => 1

12 | [] //12
TRUE & "8" //0
TRUE | "8" //9

&& :與運算符,返回是bool數(shù)據(jù)類型

|| :或運算符,返回是bool數(shù)據(jù)類型

子類重寫父類方法的限制

父類中final方法是不可以重寫的

子類重寫父類方法只可寬松,不可嚴(yán)謹(jǐn)

重寫方法名稱必須相同

大括號的作用

作用域-------例如:function fn(){}

$str{4}在字符串的變量的后面跟上{},大括號和中括號一樣都是把某個字符串變量當(dāng)成數(shù)組處理

{$val},這時候大括號起的作用就是,告訴PHP,括起來的要當(dāng)成變量處理。

var_export()用法

php數(shù)據(jù)原型輸出

$msg = "xxx";
var_export($msg); //輸出"xxx"
var_export($msg,true); //不輸出,只返回 "xxx"

動態(tài)生成.php文件

$msg = "nihao";
$content = "";
file_put_contents("./test.php",$content);
include與request 內(nèi)外調(diào)用用法
包含進(jìn)來的文件,其實與原文件相當(dāng)合并
1、外面文件可以訪問里面文件定義的變量(在include之后定義的變量)
2、里面文件可以訪問外面文件在include之前定義的變量

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/22218.html

相關(guān)文章

  • jQuery學(xué)習(xí)和知識點總結(jié)歸納

    摘要:目前在前端開發(fā)所占的比重越來越高,在我們學(xué)習(xí)和開發(fā)的過程中都會去使用。下面把程序員雷雪松對的知識點總結(jié)和歸納分享給大家。過濾對同胞元素的搜索。將匹配元素集合縮減為集合中的最后一個元素。返回指定元素相對于其他指定元素的位置。 jQuery目前在Web前端開發(fā)所占的比重越來越高,在我們jQuery學(xué)習(xí)和開發(fā)的過程中都會去使用。jQuery幫我們解決了瀏覽器之間JS一些不兼容的地方和簡化了原...

    JohnLui 評論0 收藏0
  • Laravel學(xué)習(xí)筆記之PHP對象遍歷(Iterator)

    摘要:中在基礎(chǔ)集合類路由類中和分頁類中等,都用到了對象遍歷這個小知識點,這些類都是實現(xiàn)了這個接口,這個接口定義,返回的是迭代器對象。標(biāo)準(zhǔn)擴展庫中提供了很多默認(rèn)迭代器實現(xiàn)類,比較常用的是數(shù)組迭代器對象,參考官網(wǎng)迭代器。 說明:本文章主要講述PHP的對象遍歷(Iterator)知識點。由于Laravel框架中就在集合(Collection)中用到了對象遍歷知識點,故記錄并學(xué)習(xí)之。同時,作者會將開...

    余學(xué)文 評論0 收藏0
  • 從能做什么到如何去做,一文帶你快速掌握Python編程基礎(chǔ)與實戰(zhàn)

    摘要:本文的分享主要圍繞以下幾個方面能做什么常見應(yīng)用場景介紹如何學(xué)習(xí)語法基礎(chǔ)實戰(zhàn)面向?qū)ο缶幊虒崙?zhàn)練熟基礎(chǔ)小游戲項目的實現(xiàn)與實戰(zhàn)一能做什么一種編程語言往往可以應(yīng)用于多方面,有些方面比較常用,有些方面極為常用。比如表示是一個空列表。 摘要:Python語言的教程雖然隨處可見,但是忙于日常業(yè)務(wù)/學(xué)習(xí)的你或許:一直想要找個時間學(xué)一點,但是又不知道該從何下手?本文將從Python能做什么,如何學(xué)習(xí)Py...

    BLUE 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<