php中的基本語(yǔ)法

整體了解

<?php
// 如果不需要界面展示 可以直接寫php代碼 不需要些html語(yǔ)句
    echo "hello";
    
    // 在php中规肴,定義一個(gè)變量要以$符號(hào)開頭
    $a = 890; // 定義了一個(gè)變量彪见, 該變量叫$a, 然后給變量賦值890
    echo "<bt />";
    
    // 注意:變量的數(shù)據(jù)類型不是固定不變的剔桨,是根據(jù)上下文決定的
    $b = 100; // 此時(shí)$b變量是整形
    $b = "jake"; // 此時(shí)$b由整型變成字符串類型
    var_dump($b); // 可以顯示變量信息 即可以看到該變量的類型
    
    // php是區(qū)分大小寫的
    $H = 12;
    $h = 15;

    // php變量的名稱只能以英文字母跟下劃線"_"開頭,不可以以數(shù)字開頭
?>

基本數(shù)據(jù)類型

捕獲.PNG
  • 整型
  • 小數(shù)(php是不區(qū)分雙精度跟單精度小數(shù)的)
  • 布爾類型
  • 字符串

復(fù)合類型

  • 數(shù)組(array)
  • 對(duì)象(object)

特殊類型

  • 空 null
  • 資源類型

算術(shù)運(yùn)算

  • ++ 自加
  • -- 自減
$a = 90;
$a++; // 等價(jià)于 $a = $a + 1

$b = 80;
$b--; // 等價(jià)于$b = $b - 1;
  • 三元運(yùn)算
表達(dá)式 (expr1)抖苦? (expire2) :(expire3)

$a = 90;
$b = 80;

$c = $a > $b ? 23:900;

分支控制

  • 單分支
if(條件表達(dá)式){

}
  • 雙分支
$age = 30;
if($age > 30){

}else if($age==30){

}else{

}

  • 多分支

循環(huán)控制

  • for循環(huán)
for($i = 0; $i<5; $i++){
  echo "你好";
}

  • while
$i  = 0;
while($i<10){
    echo "<br /> 你好!米死!";
    $i++;
}

  • do while
$age = 0;
do{
    echo age锌历;
    $age++;
   }while($age < 10)

函數(shù)

  • 封裝一個(gè)計(jì)算函數(shù)方法


<?php
    $num1 = 10;
    $num2 = 12;

    // function關(guān)鍵字  jiSuan函數(shù)名
    // $num1, $num2, $oper 形參 及參數(shù)列表 注意參數(shù)不需要類型
    function jiSuan($num1, $num2, $oper){
        
        $res = 0;
        switch($oper){
            case "+":
            $res = $num1 + $num2;
            break;
            
            case "-";
            $res = $num1- $num2;
            break;
            
            case "*":
            $res = $num1 * $num2;
            break;
            
            default:
            echo "輸入運(yùn)算符有誤";
            
        }
        
        return $res;
    }
    
    
?>
  • 如果在別的文件直接調(diào)用該函數(shù)需要利用關(guān)鍵字require進(jìn)行導(dǎo)入

<?php
// 引入需要的php文件
    require 'funcs.php';
    
    $res = jiSuan(12峦筒, 15究西, "+");
?>

總結(jié)函數(shù)的格式
function 函數(shù)名(參數(shù)1,參數(shù)2物喷,......){ // 參數(shù)列表是不需要數(shù)據(jù)類型的
// 函數(shù)體
return 語(yǔ)句;
}

php頁(yè)面相互調(diào)用的知識(shí)點(diǎn)

a.php頁(yè)面想使用 b.php定義的函數(shù)卤材,我們可以使用如下指令

  • require require_once

  • include include_once

    • reqire的用法
<?php
  require (要引入的文件名);
  require "要引入的文件名";

require_once ("引入的文件") 先判斷,在引入峦失,如果發(fā)現(xiàn)文件已經(jīng)引入扇丛,則不再引入
如果是用require引用重復(fù)同一個(gè)php 文件,或報(bào)錯(cuò) 重復(fù)定義
require相當(dāng)于作用相當(dāng)于完整的拷貝
?>

include 和require區(qū)別(同時(shí)也是include_once 跟require_once的卻別)
使用include如果出現(xiàn)錯(cuò)誤尉辑,程序還是會(huì)繼續(xù)執(zhí)行帆精,只是警告而已,而require程序會(huì)退出隧魄,不會(huì)再執(zhí)行
常見的錯(cuò)誤:例如卓练,包含的文件名寫錯(cuò)了 或者文件不存在

數(shù)組

$hens[0] = 3;
$hens[1] = 5;
$hens[2] = 1;
$hens[3] = 3.6;
$hens[4] = 2;
$hens[5] = 50;

//  遍歷整個(gè)數(shù)組

for($i = 0; $i<count($hens); $i++){
  echo $hens[$i];
}

數(shù)組的基本介紹

php中的數(shù)組是一組關(guān)鍵字(下標(biāo)、索引)和值的集合购啄,值可以使任意一種類型

數(shù)組的創(chuàng)建方式

方式1

<?php
  $array[0] = "jake";
  $array[1] = 12;
  $array[2] = 12.5;
?>

方式2

$數(shù)組名 = array(值1襟企,值2, 值3闸溃,......);
$person = array("23", "jake", "1998-11-05");

方式3
自己指定下標(biāo)

$array["logo"] = "北京"整吆;
$array["hsp"] = 123;
或者
$array = array("logo"=>"北京", “hsp”=>123); 

PHP面向?qū)ο?/h3>
<?php

// 定義一個(gè)類
    class Cat{
        // 成員屬性
        public $name,
        public $age,
        public $color
        
    }
    
    // 創(chuàng)建貓對(duì)象
    $cat = new Cat()辉川;
    $cat->name = "小白";
    $cat->age = 2;
    $cat->color = "黑"; 
?>

公司的實(shí)際開發(fā)

類名.class.php

class 類名{

}

例如定義以貓類給別人用表蝙,規(guī)范的定義一個(gè)類
1.創(chuàng)建一個(gè)Cat.class.php
2.定義類
class Cat{
  // 屬性
}

如果給函數(shù)傳遞的參數(shù)是一個(gè)對(duì)象,傳遞的是地制值
在php中如果數(shù)組作為參數(shù)默認(rèn)是值傳遞(相當(dāng)于拷貝一份)乓旗,如果想要地址值傳遞府蛇,需要&$數(shù)組名
基本數(shù)據(jù)類型作為參數(shù)傳遞,是值傳遞屿愚,如果想傳遞的是地址值汇跨,則需在變量前加上&符號(hào)

function test(&$test1){

}

成員方法
<?php

// 定義一個(gè)類
    class Person{
        
        public $age,
        
        // 成員方法
        public function speak(){
            
            
        }
    }
    
    // 創(chuàng)建對(duì)象
    $p = new Person();
    // 執(zhí)行成員對(duì)象方法
    $p->speak();
    
    
?>
構(gòu)造方法

Class Person{

  public $name;
  public $age;

public function_construct{
// 當(dāng)通過new方式初始化一個(gè)對(duì)象的時(shí)候务荆,系統(tǒng)會(huì)調(diào)用該構(gòu)造方法
// 注意:構(gòu)造方法是沒有返回值的,它是系統(tǒng)自動(dòng)調(diào)用的
  echo "我是構(gòu)造方法";
}

// 自定義構(gòu)造方法 php4中的構(gòu)造方法穷遂,名字和類型一致函匕,如果在php5中兩個(gè)都有,它會(huì)優(yōu)先選擇 `function_construct `
public function Person(){
    echo "ok";
}

}

// 自定義構(gòu)造方法
public function_construct($iname, $iage){
    $name = $iname; // 這里是錯(cuò)誤的寫法  它會(huì)認(rèn)為#name是一個(gè)新的變量 跟成員屬性無關(guān)
    $iage = $iage;
  // 這就需要通過this這個(gè)關(guān)鍵字了
  this:系統(tǒng)會(huì)給每一個(gè)對(duì)象分配this代表當(dāng)前對(duì)象
  // 正確的寫法:
$this->name = $iname;
$this->age = $iage;
   echo "自定義構(gòu)造方法"; 
}

析構(gòu)方法

主要用于釋放資源(比如:釋放數(shù)據(jù)庫(kù)連接蚪黑,圖片資源盅惜,銷毀某個(gè)對(duì)象)

class Person{
  public $name;
  public $age;

  // 構(gòu)造方法
  public function__construct($name, $age){
    $this->name = $name;
   $this->age = $age;
}

// 寫一個(gè)析構(gòu)方法 __是兩個(gè)下劃線
function __destruct(){
  echo ""銷毀資源<br/>;
}

$p1 = new Person("賈寶玉", 16);
$p2 = new Person("林黛玉"忌穿, 14)抒寂;

運(yùn)行代碼我們得出結(jié)論:
  1.析構(gòu)方法會(huì)自動(dòng)調(diào)用
  2.析構(gòu)方法主要用于銷毀資源
  3.析構(gòu)方法調(diào)用的順序是,先創(chuàng)建的對(duì)象掠剑,后銷毀
  4.析構(gòu)方法什么時(shí)候被調(diào)用
(1)當(dāng)程序(進(jìn)程結(jié)束)退出時(shí)
(2)當(dāng)一個(gè)對(duì)象稱之為垃圾對(duì)象的時(shí)候
垃圾對(duì)象:在PHP當(dāng)一個(gè)對(duì)象沒有任何引用指向它的時(shí)候屈芜,就會(huì)成為一個(gè)垃圾對(duì)象,php將啟用垃圾回收器將對(duì)象銷毀朴译,從而回收該對(duì)象占用的內(nèi)存
}

static
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末井佑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子动分,更是在濱河造成了極大的恐慌毅糟,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件澜公,死亡現(xiàn)場(chǎng)離奇詭異姆另,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)坟乾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門迹辐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人甚侣,你說我怎么就攤上這事明吩。” “怎么了殷费?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵印荔,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我详羡,道長(zhǎng)仍律,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任实柠,我火速辦了婚禮水泉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己草则,他們只是感情好钢拧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著炕横,像睡著了一般源内。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上份殿,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天姿锭,我揣著相機(jī)與錄音,去河邊找鬼伯铣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛轮纫,可吹牛的內(nèi)容都是我干的腔寡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼掌唾,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼放前!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起糯彬,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤凭语,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后撩扒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體似扔,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年搓谆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了炒辉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泉手,死狀恐怖黔寇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情斩萌,我是刑警寧澤缝裤,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站颊郎,受9級(jí)特大地震影響憋飞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜袭艺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一搀崭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦瘤睹、人聲如沸升敲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)驴党。三九已至,卻和暖如春获茬,著一層夾襖步出監(jiān)牢的瞬間港庄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工恕曲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鹏氧,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓佩谣,卻偏偏與公主長(zhǎng)得像把还,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子茸俭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

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