php基礎(chǔ)

1.什么是PHP?

PHP(Hypertext Preprocessor)稱之為超文本預(yù)處理器径荔,它是一種通用的開源語言。在服務(wù)器端執(zhí)行的腳本語言虱岂。它的這個(gè)語法混合了c語言试溯,Java了語言键袱,還有這個(gè)Perl語言的一些特點(diǎn)付鹿。它的基礎(chǔ)語法的寫法與javascript谁不,尤其相似谎替。所以對于我們來講,這個(gè)入手會(huì)比其他人要更快一些。

php代碼必須寫在php標(biāo)記中,標(biāo)記外的php代碼不會(huì)被編譯執(zhí)行
/**
 * 多行注釋 
*/
# 單行注釋

2.語言特點(diǎn)

1. 只能運(yùn)行在服務(wù)器上的腳本語言杠河,向?yàn)g覽器返回HTML結(jié)果
2. 面向?qū)ο笳Z言
3. 開源柳洋,免費(fèi)
4. 學(xué)習(xí)成本低
5. 弱類型語言(變量沒有固定類型,變量的數(shù)據(jù)類型在賦值時(shí)由值的類型決定)测蹲,沒有聲明變量的關(guān)鍵字齿椅,以$a 表示變量(a),注意PHP不允許只聲明變量不給變量賦值。

一、變量

  1. echo :只能輸出基礎(chǔ)類型的值
  2. var_dump():可以輸出任意數(shù)據(jù)類型的值 (輸出內(nèi)容包含:值粥帚、 類型[長度])
  3. print_r():輸出數(shù)組
echo 10;
var_dump(10)

二、數(shù)據(jù)類型

基礎(chǔ)類型

1、string 字符串
2、integer 整型(整數(shù),不區(qū)分正負(fù))
3、double(float) 浮點(diǎn)型(小數(shù))
4、boolean 布爾型

引用類型

6酸舍、array 數(shù)組
7双妨、object 對象

特殊類型

8、null 空

$a = "php is the bast in the world";
 echo $a;
 echo "<br>";
$b = 10;
 echo $b;
$c = 3.1415926;
 echo $c;
 $d = true;
 echo $d;// true 為 1 、false 為 ""
讀取或判斷變量的數(shù)據(jù)類型

1柒桑、gettype(var) : 返回?cái)?shù)據(jù)的變量類型
echo gettype($d);
2、is_type(var) : 判斷變量是否為指定數(shù)據(jù)類型,返回布爾值

 echo is_bool($a);

三该溯、運(yùn)算符

1氯庆、算術(shù)運(yùn)算符: + - * / % 实昨,只進(jìn)行算術(shù)運(yùn)算,非數(shù)值會(huì)被強(qiáng)制轉(zhuǎn)化為數(shù)值,如果無法轉(zhuǎn)化為 0 參與運(yùn)算茉继。
2、關(guān)系運(yùn)算符: > < >= <= == != === !==
3氯哮、邏輯運(yùn)算符: and (&&) or(||) ! xor
xor : 異或邏輯:只有當(dāng)邏輯倆側(cè)一個(gè)成立一個(gè)不成立時(shí)整個(gè)邏輯才成立肠虽,否則邏輯不成立。
4、賦值運(yùn)算符: =
5妇汗、符合運(yùn)算符:+= -= *= %= ++ --
6互婿、拼接運(yùn)算符:. 拼接字符串

 echo 5/2; // 雖然類型上將整數(shù)與小數(shù)分開,但是PHP仍然有弱類型特征,5/2依然計(jì)算為2.5猜绣;

四掰邢、分支結(jié)構(gòu)

五、循環(huán)結(jié)構(gòu): for、while

六酗昼、常量:值不會(huì)發(fā)生變化的變量叠荠。

1.define(name,value);

 define('PI',3.14);//聲明了一個(gè)常量PI际起,值為3.14;不允許二次賦值;
 echo PI;

2.const 關(guān)鍵字聲明常量

const PI = 3.14;
echo PI;

7.String操作方法

'' 和 "" 都可以表示字符串校翔,"" 可以解析變量弟跑,通常將變量用{}包裹。
  $i = 3;$j = 6;
 echo $i."*".$j."=".$i*$j;
 $res = $i*$j;
 echo "{$i}*{$j}={$res}";
 echo "$i and $j 都是odd"
$str = "PHP is the best in the world";

1防症、strlen($str):讀取字符串長度孟辑。(中文占據(jù)三個(gè)字符長度)

echo strlen("你好")

2、substr($str,start,len):截取字符串

echo substr($str,4,11);

3蔫敲、 strpos($str饲嗽,sub):判斷指定字符串是否包含目標(biāo)子字符,如果包含返回索引,否則返回false;

 echo strpos($str,'best');

4奈嘿、4. stripos($str貌虾,sub);//不區(qū)分大小寫

 echo stripos($str,'php');

5郭计、str_replace(who,what,where,count):字符串替換筒主,count是可選參數(shù),記錄替換次數(shù)黑忱;

 $res = str_replace('e','',$str,$n);
 echo "$res <br> $n";

6叶圃、explode(item,$str): 以item為參照物切割指定字符串為數(shù)值(item不可以是空字符串)

 print_r(explode(' ',str));
 echo "<br>";
 var_dump(explode(' ',$str));

7袄膏、strtoupper(str1,str): 字符串字母首字母小寫 8掺冠、strrev(str): 翻轉(zhuǎn)字符串
9沉馆、strstr(a,b):字符串的截取,a字符串 b指定字符 從指定字符開始截取到末尾

echo strstr($str,'i');

8.數(shù)組:儲(chǔ)存多個(gè)數(shù)據(jù)的容器

1、聲明數(shù)組

 $arr = ["青","案","是","請"];
 $arr = array(
     "青",
     8=>"案",
     "是",
     "請"
 );
 print_r($arr); 

2斥黑、數(shù)組類型:
(1)索引數(shù)組:索引從零開始遞增的整數(shù)
(2)關(guān)聯(lián)數(shù)組:索引為string
(3)混合數(shù)組:索引與關(guān)聯(lián)的組合

$arr = [
   "芋泥波波奶茶",
   "絲襪奶茶",
   "紅豆奶茶",
   "拿鐵咖啡",
   "卡布奇諾",
   "摩卡咖啡",
   "大紅袍",
   "金俊眉"
];

3揖盘、操作方法
1、count($arr):讀取數(shù)組長度

echo count($arr);

2心赶、array_push($arr,value...)

array_push($arr,"西湖龍井");

3扣讼、array_pop()

 array_pop($arr);

4、array_unshift($arr,value...)

 array_unshift($arr,"冰紅茶");

5缨叫、array_shift()

 array_shift($arr);

6椭符、array_splice($arr,index,len,value...)

 array_splice($arr,2,1);

7、array_slice($arr,start,len):截瘸芾选销钝;

8、in_array(item,$str)

 判斷item是否在arr中,如果在返回true,否則返回false;
 echo in_array("芋泥波波奶茶",$arr);

9琐簇、implode(char,$arr):數(shù)組轉(zhuǎn)字符串

 echo implode(",",$arr);

10蒸健、array_merge($arr,arr...): 數(shù)組拼接

 $res = array_merge($arr,[1,2,3,3,4]);
 print_r($res)

11婉商、 array_reverse($arr):反轉(zhuǎn)數(shù)組元素

 $res = array_reverse($arr);
 print_r($res);

12似忧、sort(); 升序排序 : 數(shù)字按大小排序 , 字母是首字母按a-z排序
13、rsort();降序排序 : 數(shù)字按小到大排序,字母是首字母按z-a排序
14丈秩、ksort();鍵名對數(shù)組排序盯捌,為數(shù)組值保留原來的鍵 : ksort(array,sorttype)
15、krsort();按照鍵名進(jìn)行降序排序:
16蘑秽、asort();按照鍵值對關(guān)聯(lián)數(shù)組進(jìn)行升序排序:
17饺著、arsort();對關(guān)聯(lián)數(shù)組按照鍵值進(jìn)行降序排序:

9、ajax

ajax : 異步的javascript 和 xml
不是新語言肠牲,只是前端和后端交換數(shù)據(jù)的技術(shù)
特點(diǎn): 異步請求幼衰,局部更新。
異步和同步
同步:按順序依次執(zhí)行缀雳,在上一次執(zhí)行完成前渡嚣,后面的任務(wù)都是暫時(shí)掛起的狀態(tài)。
異步:不按順序執(zhí)行俏险,不會(huì)對后面的任務(wù)執(zhí)行造成阻塞严拒。
例子:同步(打電話) 、異步(發(fā)短信)

GET:通常用于向服務(wù)器請求數(shù)據(jù)
POST:通常用于服務(wù)器提交數(shù)據(jù)

核心:XMLHttpRequest 請求對象
GET請求的流程

//1. 創(chuàng)建請求對象
var xhr = new XMLHttpRequest;
// console.log(xhr);
    // 2. 準(zhǔn)備請求
    // open(method,url,async);
    //method: string類型竖独,設(shè)置請求方式
    //url :string類型裤唠,設(shè)置請求地址
    //async:boolean類型,設(shè)置是否異步發(fā)送請求莹痢,true異步种蘸,false同步墓赴。
    //如果GET請求需要向服務(wù)器發(fā)送數(shù)據(jù),必須將數(shù)據(jù)以查詢參數(shù)的格式拼接在url后面航瞭。

    xhr.open('get','./response.php?type=3',true);
    // 3. 發(fā)送請求
    //send(): get請求下诫硕,send()方法無參數(shù)
    xhr.send();
    // 4. 監(jiān)聽請求
    // onreadystatechange 事件監(jiān)聽請求
    xhr.onreadystatechange = function(){
        //每當(dāng)請求狀態(tài)改變時(shí)觸發(fā)
        //(1)readyState; 請求狀態(tài)
        //0 :請求對象已初始化,尚未準(zhǔn)備請求刊侯。
        //1 :請求已準(zhǔn)備章办,但尚未發(fā)送請求。
        //2 :請求已發(fā)送滨彻,但服務(wù)器尚未接收藕届。
        //3 :服務(wù)器以接收請求,尚未處理
        //4 :服務(wù)器已處理請求亭饵,并返回結(jié)果

        //(2)status:服務(wù)器響應(yīng)碼(HTTP狀態(tài)碼)休偶;
        // 200 :請求成功,可以正常接收服務(wù)器相應(yīng)辜羊。
        // 304 :請求成功
        // 404 :請求失敗踏兜,頁面不存在
        // 403 :請求失敗,服務(wù)器接收到了請求但是拒絕處理八秃。
        // 500 :請求失敗碱妆,服務(wù)器異常

        if(xhr.readyState == 4 && xhr.status == 200){
            // 5. 接收服務(wù)器返回結(jié)果
            // responseText
            console.log(xhr.responseText);
            var res  = JSON.parse(xhr.responseText);
            console.log(res);
        }
        
    }

//POST請求流程
//如果POST請求不攜帶數(shù)據(jù),那么請求流程于GET完全相同昔驱,唯一區(qū)別就是open()方法的第一參數(shù)不同山橄。
    1.創(chuàng)建請求對象
    var xhr = new XMLHttpRequest;
    //2.準(zhǔn)備請求
    xhr.open('post','./response.php',true);
    //3. 建立請求頭(數(shù)據(jù)需要包裝請求頭中)
    //設(shè)置數(shù)據(jù)格式
    //表單數(shù)據(jù):application/x-www-form-urleneoded;
    xhr.setRequestHeader('Context-type','application/x-www-form-urlencoded');
    //發(fā)送請求并攜帶數(shù)據(jù)
    //發(fā)送表單數(shù)據(jù)時(shí),數(shù)據(jù)需要以查詢參數(shù)形式的字符串作為 send() 方法的參數(shù)舍悯。
    xhr.send('type=3');
    //監(jiān)聽請求
    xhr.onreadystatechange = function(){
        if(xhr.readyState==4 && xhr.status==200){
            console.log(xhr.responseText);
            // var res = JSON.parse(xhr.responseText);
            // console.log(res);
        }
    }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市睡雇,隨后出現(xiàn)的幾起案子萌衬,更是在濱河造成了極大的恐慌,老刑警劉巖它抱,帶你破解...
    沈念sama閱讀 223,002評(píng)論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秕豫,死亡現(xiàn)場離奇詭異,居然都是意外死亡观蓄,警方通過查閱死者的電腦和手機(jī)混移,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侮穿,“玉大人歌径,你說我怎么就攤上這事∏酌” “怎么了回铛?”我有些...
    開封第一講書人閱讀 169,787評(píng)論 0 365
  • 文/不壞的土叔 我叫張陵狗准,是天一觀的道長。 經(jīng)常有香客問我茵肃,道長腔长,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,237評(píng)論 1 300
  • 正文 為了忘掉前任验残,我火速辦了婚禮捞附,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘您没。我一直安慰自己鸟召,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評(píng)論 6 398
  • 文/花漫 我一把揭開白布紊婉。 她就那樣靜靜地躺著药版,像睡著了一般。 火紅的嫁衣襯著肌膚如雪喻犁。 梳的紋絲不亂的頭發(fā)上槽片,一...
    開封第一講書人閱讀 52,821評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音肢础,去河邊找鬼还栓。 笑死,一個(gè)胖子當(dāng)著我的面吹牛传轰,可吹牛的內(nèi)容都是我干的剩盒。 我是一名探鬼主播,決...
    沈念sama閱讀 41,236評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼慨蛙,長吁一口氣:“原來是場噩夢啊……” “哼辽聊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起期贫,我...
    開封第一講書人閱讀 40,196評(píng)論 0 277
  • 序言:老撾萬榮一對情侶失蹤跟匆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后通砍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體玛臂,經(jīng)...
    沈念sama閱讀 46,716評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評(píng)論 3 343
  • 正文 我和宋清朗相戀三年封孙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了迹冤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,928評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡虎忌,死狀恐怖泡徙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情膜蠢,我是刑警寧澤锋勺,帶...
    沈念sama閱讀 36,583評(píng)論 5 351
  • 正文 年R本政府宣布蚀瘸,位于F島的核電站,受9級(jí)特大地震影響庶橱,放射性物質(zhì)發(fā)生泄漏贮勃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評(píng)論 3 336
  • 文/蒙蒙 一苏章、第九天 我趴在偏房一處隱蔽的房頂上張望寂嘉。 院中可真熱鬧,春花似錦枫绅、人聲如沸泉孩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寓搬。三九已至,卻和暖如春县耽,著一層夾襖步出監(jiān)牢的瞬間句喷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評(píng)論 1 274
  • 我被黑心中介騙來泰國打工兔毙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留唾琼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,378評(píng)論 3 379
  • 正文 我出身青樓澎剥,卻偏偏與公主長得像锡溯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子哑姚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評(píng)論 2 361

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

  • php基礎(chǔ)個(gè)人總結(jié) 標(biāo)簽: php 以下是我在學(xué)習(xí)php基礎(chǔ)時(shí)祭饭,個(gè)人總結(jié)的一些零碎知識(shí),本人文筆不好叙量,可能會(huì)出現(xiàn)一...
    寵辱不驚丶?xì)q月靜好閱讀 1,484評(píng)論 0 4
  • PHP 算數(shù)運(yùn)算符 ";echo ($a-$b)." ";echo ($a*$b)." ";echo ($a/$b...
    久久歸移閱讀 520評(píng)論 0 0
  • [if !supportLists]1.[endif]PHP基礎(chǔ)(變量的八種類型甜癞、empty和isset、null...
    4e855d444c9f閱讀 584評(píng)論 0 0
  • 個(gè)人博客搭建完成宛乃,歡迎大家來訪問哦黎默丶lymoo的博客 PHP的字符串 首先來區(qū)別一下下面兩種字符串: 注意:這...
    黎默丶lymoo閱讀 329評(píng)論 5 15
  • //php的結(jié)尾符號(hào)可以不用寫,開頭可以不加php蒸辆; //echo 可以輸出字符串或者數(shù)字征炼, //結(jié)尾的封號(hào)一定要...
    久久歸移閱讀 722評(píng)論 0 0