PHP記錄-數(shù)組-類

指針函數(shù)

next();     //下一個
prev();     //上一個
reset();    //回到第一個
end();      //回到最后一個
each();     //指針移動
key();      //獲取當(dāng)前的下標(biāo)
current();  //獲取當(dāng)前的值

超全局?jǐn)?shù)組

 $_SERVER   //服務(wù)器變量
 $_GET      //環(huán)境變量
 $_POST     //HTTP GET變量
 $_ENV      //HTTP POST變量
 $_FILES    //request變量
 $_REQUEST  //HTTP文件上傳變量
 $_COOKIE   //HTTP Cookies
 $_SESSION  //Session變量
 $GLOBALS   //Global變量
//超全局?jǐn)?shù)組 頁腳預(yù)定義變量

數(shù)組函數(shù)

array_change_key_case   // 將數(shù)組中的所有鍵名修改為全大寫或小寫
array_chunk             // 將一個數(shù)組分割成多個
array_column            // 返回數(shù)組中指定的一列
array_combine           // 創(chuàng)建一個數(shù)組钟哥,用一個數(shù)組的值作為其鍵名蓝角,另一個數(shù)組的值作為其值
array_count_values      // 統(tǒng)計數(shù)組中所有的值 **
array_diff_assoc        // 帶索引檢查計算數(shù)組的差集
array_diff_key          // 使用鍵名比較計算數(shù)組的差集
array_diff_uassoc       // 用用戶提供的回調(diào)函數(shù)做索引檢查來計算數(shù)組的差集
array_diff_ukey         // 用回調(diào)函數(shù)對鍵名比較計算數(shù)組的差集
array_diff              // 計算數(shù)組的差集
array_fill_keys         // 使用指定的鍵和值填充數(shù)組
array_fill              // 用給定的值填充數(shù)組
array_filter            // 用回調(diào)函數(shù)過濾數(shù)組中的單元 **
array_flip              // 交換數(shù)組中的鍵和值
array_intersect_assoc   // 帶索引檢查計算數(shù)組的交集
array_intersect_key     // 使用鍵名比較計算數(shù)組的交集
array_intersect_uassoc  // 帶索引檢查計算數(shù)組的交集硫豆,用回調(diào)函數(shù)比較索引
array_intersect_ukey    // 用回調(diào)函數(shù)比較鍵名來計算數(shù)組的交集
array_intersect         // 計算數(shù)組的交集
array_key_exists        // 檢查數(shù)組里是否有指定的鍵名或索引 **
array_keys              // 返回數(shù)組中部分的或所有的鍵名
array_map               // 為數(shù)組的每個元素應(yīng)用回調(diào)函數(shù) **
array_merge_recursive   // 遞歸地合并一個或多個數(shù)組
array_merge             // 合并一個或多個數(shù)組
array_multisort         // 對多個數(shù)組或多維數(shù)組進(jìn)行排序
array_pad               // 以指定長度將一個值填充進(jìn)數(shù)組
array_pop               // 彈出數(shù)組最后一個單元(出棧)
array_product           // 計算數(shù)組中所有值的乘積
array_push              // 將一個或多個單元壓入數(shù)組的末尾(入棧)
array_rand              // 從數(shù)組中隨機(jī)取出一個或多個單元
array_reduce            // 用回調(diào)函數(shù)迭代地將數(shù)組簡化為單一的值
array_replace_recursive // 使用傳遞的數(shù)組遞歸替換第一個數(shù)組的元素
array_replace           // 使用傳遞的數(shù)組替換第一個數(shù)組的元素
array_reverse           // 返回單元順序相反的數(shù)組
array_search            // 在數(shù)組中搜索給定的值垛叨,如果成功則返回首個相應(yīng)的鍵名
array_shift             // 將數(shù)組開頭的單元移出數(shù)組
array_slice             // 從數(shù)組中取出一段
array_splice            // 去掉數(shù)組中的某一部分并用其它值取代
array_sum               // 對數(shù)組中所有值求和
array_udiff_assoc       // 帶索引檢查計算數(shù)組的差集,用回調(diào)函數(shù)比較數(shù)據(jù)
array_udiff_uassoc      // 帶索引檢查計算數(shù)組的差集装畅,用回調(diào)函數(shù)比較數(shù)據(jù)和索引
array_udiff             // 用回調(diào)函數(shù)比較數(shù)據(jù)來計算數(shù)組的差集
array_uintersect_assoc  // 帶索引檢查計算數(shù)組的交集靠娱,用回調(diào)函數(shù)比較數(shù)據(jù)
array_uintersect_uassoc // 帶索引檢查計算數(shù)組的交集,用單獨的回調(diào)函數(shù)比較數(shù)據(jù)和索引
array_uintersect        // 計算數(shù)組的交集掠兄,用回調(diào)函數(shù)比較數(shù)據(jù)
array_unique            // 移除數(shù)組中重復(fù)的值
array_unshift           // 在數(shù)組開頭插入一個或多個單元
array_values            // 返回數(shù)組中所有的值 **
array_walk_recursive    // 對數(shù)組中的每個成員遞歸地應(yīng)用用戶函數(shù)
array_walk              // 使用用戶自定義函數(shù)對數(shù)組中的每個元素做回調(diào)處理 **
arsort                  // 對數(shù)組進(jìn)行逆向排序并保持索引關(guān)系
asort                   // 對數(shù)組進(jìn)行排序并保持索引關(guān)系
compact                 // 建立一個數(shù)組像云,包括變量名和它們的值
count                   // 計算數(shù)組中的單元數(shù)目,或?qū)ο笾械膶傩詡€數(shù) **
current                 // 返回數(shù)組中的當(dāng)前單元
each                    // 返回數(shù)組中當(dāng)前的鍵/值對并將數(shù)組指針向前移動一步
end                     // 將數(shù)組的內(nèi)部指針指向最后一個單元
extract                 // 從數(shù)組中將變量導(dǎo)入到當(dāng)前的符號表
in_array                // 檢查數(shù)組中是否存在某個值
key_exists              // 別名 array_key_exists
key                     // 從關(guān)聯(lián)數(shù)組中取得鍵名
krsort                  // 對數(shù)組按照鍵名逆向排序
ksort                   // 對數(shù)組按照鍵名排序
list                    // 把數(shù)組中的值賦給一組變量
natcasesort             // 用“自然排序”算法對數(shù)組進(jìn)行不區(qū)分大小寫字母的排序
natsort                 // 用“自然排序”算法對數(shù)組排序
next                    // 將數(shù)組中的內(nèi)部指針向前移動一位
pos                     // current 的別名
prev                    // 將數(shù)組的內(nèi)部指針倒回一位
range                   // 根據(jù)范圍創(chuàng)建數(shù)組蚂夕,包含指定的元素
reset                   // 將數(shù)組的內(nèi)部指針指向第一個單元
rsort                   // 對數(shù)組逆向排序
shuffle                 // 打亂數(shù)組
sizeof                  // count 的別名
sort                    // 對數(shù)組排序
uasort                  // 使用用戶自定義的比較函數(shù)對數(shù)組中的值進(jìn)行排序并保持索引關(guān)聯(lián)
uksort                  // 使用用戶自定義的比較函數(shù)對數(shù)組中的鍵名進(jìn)行排序
usort                   // 使用用戶自定義的比較函數(shù)對數(shù)組中的值進(jìn)行排序
array                   // 新建一個數(shù)組

  1. 子類使用extends繼承父類迅诬,子烈可以將父類中所有的內(nèi)容都繼承過來
  2. private 這是私有修飾符,只能自己用婿牍,不能其他類用侈贷,包括自己的子類也不能用。
  3. proteced 這個是保護(hù)的權(quán)限等脂,只能是自己和自己的子類可以使用的成員俏蛮,不能在外面使用。
  4. public 這個是公開的權(quán)限上遥,所有都可以用搏屑、自己、子類粉楚、類外部都可以使用.

  1. 對象->成員
  2. 類::成員
  3. parent::成員 使用parent::訪問父類中被覆蓋的方法 構(gòu)造方法也可以覆蓋

  1. static 可以修改屬性和方法辣恋,不能修飾類
  2. 使用static修飾成員屬性,存在內(nèi)存的初始化靜態(tài)段模软。
  3. 可以被所有同一類的對象共用伟骨。
  4. 第一個用到類(類名第一次出現(xiàn)),類在加載到內(nèi)存時,就已經(jīng)將靜態(tài)成員加到內(nèi)存了燃异。
  5. 靜態(tài)的成員一定要使用類來訪問携狭。 ojb::dd; 訪問類中的靜態(tài)成員屬性 而不能使用:obj = new obj(); $obj->dd;
  6. self可以在類中的方法中,代表自己類的(this) 本類中的靜態(tài)屬性可以使用: self::dd;
  7. 靜態(tài)成員一旦加載特铝,只有腳本結(jié)束才會被釋放暑中。
  8. 在靜態(tài)的方法中壹瘟,不能訪問非靜態(tài)成員的鲫剿。 換句話說就是在靜態(tài)方法當(dāng)中不能使用$this->關(guān)鍵字
  9. 只要是能使用靜態(tài)的環(huán)境下聲明方法,就是最好使用靜態(tài)方法(效率)
  10. count 修飾的成員屬性為常量稻轨,只能修飾成員屬性
    • 常量建議使用大寫灵莲,不能使用$
    • 常量一定要在聲明時就給好初始值
    • 常量的訪問方式和static的訪問方式相同,但只能讀
    • 在類外部使用 類名::常量名
    • 在類的內(nèi)部用 self::常量名
    • final 類和方法
    • static 屬性和方法
  • 這里是相關(guān)關(guān)系表

private protected public(默認(rèn))
自己類中
子類中
類的外部

類 抽象方法和抽象類

  1. 抽象方法定義:一個方法如果沒有方法體(一個方法殴俱,不使用{},直接使用分好結(jié)束的方法政冻,才是沒有方法體的方法),則這個方法就是抽象方法
    • 聲明一個方法枚抵,不使用{},而直接分號結(jié)束。
    • 如果是抽象方法明场,必須使用abstract(抽象關(guān)鍵字來修飾)
  2. 抽象類定義:如果一個類中有一個方法是抽象方法汽摹,則這個類就是抽象類。如果聲明一個抽象類苦锨,則這個類不必須要使用 abstract關(guān)鍵字來修飾
    • 只要使用abstract 修飾的類逼泣,就是抽象類。(可以沒有抽象方法)
    • 抽象類是一種特殊的類舟舒,特殊在抽象類中可以有抽象方法拉庶。
    • 除了在抽象類中可以有抽象方法以外,和正常的類完全一樣秃励。
    abstract class Demo
    {
        public $name;
        public $age;
        //特殊的方法抽象方法的存在
        abstract function say();
        
        abstract function eat();
        
        public function run()
        {
            echo "Hello World~!";
        }
    }

類 抽象類和接口

  1. 抽象類是一種抽象的類氏仗,接口是一種特殊的抽象類,接口也是一種特殊的類
  2. 抽象類和接口中都有抽象方法夺鲜。
  3. 抽象類和接口都不能創(chuàng)建實例對象皆尔。
  4. 抽象類和接口使用意義也就是作用相同。 (都是定義一些規(guī)范)
  • 接口和對象相比:

    1. 接口中的方法币励,必須全要是抽象方法(不能用不抽象的方法)
    2. 接口中的成員屬性床佳,必須是常量(不能是變量)
    3. 所有的權(quán)限必須是共有的(public)
    4. 聲明接口不是用class,而使用interface
  • 接口應(yīng)用的有些細(xì)節(jié):

    1. 可以使用extends 讓一個接口繼承另一個接口(接口和接口----只有擴(kuò)展新抽象方法,沒有覆蓋的關(guān)系)
    2. 可以使用一個類來實現(xiàn)接口中的全部方法榄审,也可以使用一個抽象類砌们,來實現(xiàn)接口中的部分方法
    3. (類與接口,抽象類與接口--覆蓋--重寫搁进,實現(xiàn)接口中的抽象方法)
    4. 就不要使用extends 這個關(guān)鍵字浪感,使用implements實現(xiàn)
    5. implements 相當(dāng)于 extends extends繼承(擴(kuò)展)。在php當(dāng)中一個類只能有一個父類
    //聲明一個接口使用 interface
    interface Demo
    {
        const NAME = "deme";
        const SEX = "1";

        public function test();
        public function test2();
        public function test3();
    }

    interface Test extends Demo
    {
            public function test4();
    }
    
    abstract class Hello implements Test
    {
        
    }   

類 多態(tài)特性

interface USB
{
    const OSD = 12;
    public function load();
    public function run();
    public function stop();

}

class Cumputer
{
    public function useUSB(USB $usb)
    {
        $usb->load();
        $usb->run();
        $usb->stop();
    }
}

class Mouse implements USB
{
    static $keys = '鼠標(biāo)';
    public function load()
    {
        // TODO: Implement load() method.
        echo "加載".self::$keys."成功".PHP_EOL;
    }
    public function run()
    {
        // TODO: Implement run() method.
        echo "運行".self::$keys."功能".PHP_EOL;
    }
    public function stop()
    {
        // TODO: Implement stop() method.
        echo "結(jié)束".self::$keys."成功".PHP_EOL;
    }
}

class KeyPress implements USB
{
    static $keys = '鍵盤';
    public function load()
    {
        // TODO: Implement load() method.
        echo "加載".self::$keys."成功".PHP_EOL;
    }
    public function run()
    {
        // TODO: Implement run() method.
        echo "運行".self::$keys."功能".PHP_EOL;
    }
    public function stop()
    {
        // TODO: Implement stop() method.
        echo "結(jié)束".self::$keys."成功".PHP_EOL;
    }
}

class Worker
{
    public function use()
    {
        $c = new Cumputer();
        $m = new Mouse();
        $k = new KeyPress();
        $c->useUSB($m);
    }
}
$w = new Worker();
$w->use();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饼问,一起剝皮案震驚了整個濱河市影兽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌莱革,老刑警劉巖峻堰,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盅视,居然都是意外死亡捐名,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門闹击,熙熙樓的掌柜王于貴愁眉苦臉地迎上來镶蹋,“玉大人,你說我怎么就攤上這事『毓椋” “怎么了淆两?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長拂酣。 經(jīng)常有香客問我秋冰,道長,這世上最難降的妖魔是什么婶熬? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任丹莲,我火速辦了婚禮,結(jié)果婚禮上尸诽,老公的妹妹穿的比我還像新娘甥材。我一直安慰自己,他們只是感情好性含,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布洲赵。 她就那樣靜靜地躺著,像睡著了一般商蕴。 火紅的嫁衣襯著肌膚如雪叠萍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天绪商,我揣著相機(jī)與錄音苛谷,去河邊找鬼。 笑死格郁,一個胖子當(dāng)著我的面吹牛腹殿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播例书,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼锣尉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了决采?” 一聲冷哼從身側(cè)響起自沧,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎树瞭,沒想到半個月后拇厢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡晒喷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年孝偎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厨埋。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡邪媳,死狀恐怖捐顷,靈堂內(nèi)的尸體忽然破棺而出荡陷,到底是詐尸還是另有隱情雨效,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布废赞,位于F島的核電站徽龟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏唉地。R本人自食惡果不足惜据悔,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望耘沼。 院中可真熱鬧极颓,春花似錦、人聲如沸群嗤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽狂秘。三九已至骇径,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間者春,已是汗流浹背破衔。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留钱烟,地道東北人晰筛。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像拴袭,于是被迫代替她去往敵國和親传惠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容