整體了解
<?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ù)類型
- 整型
- 小數(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 = "黑";
?>
<?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)存
}