<!--建立具兩個參數的函數,可做加減乘除,並顯示出來-->
return是用來回傳一個值,如果沒有要回傳值就不用return
函數命名的原則:
(1)不分大小寫
(2)函數裡還可以用來包含其他函數或是類別
(3)PHP裡不可重新定義同樣名子的函數
不一定要在呼叫函數之前就建立函數。
傳值(call by value)跟傳址(call by reference): 就是指定變數的傳遞方式。
傳值格式:
函數名稱($參數,...);
傳址格式:
函數名稱(&$參數,...)
PHP5.0開始建構元統一寫成 _ _construct();
public $x; 相當於 var $x;
$this和->是指物件本身,->用來存取物件的成員。
::這個運算子提供了一個功能就是不用建立物件。
在類別裡面可以定義常數,但是在類別裡定義的話呢。必須將常數關鍵字改成const
如果要存取類別裡面的常數的話,也是可以不用建立物件,改用::存取。
<?php
function add($x,$y)
{
return
$x+$y;
}
function substract($x,$y){
return
$x-$y;
}
function doul($x,$y){
return
$x*$y;
}
function addition($x,$y){
return
$x/$y;
}
echo
"10+2=".add(10,2)."<br/>";
echo
"10-2=".substract(10,2)."<br/>";
echo
"10*2=".doul(10,2)."<br/>";
echo
"10/2=".addition(10,2)."<br/>";
?>
|
函數命名的原則:
(1)不分大小寫
(2)函數裡還可以用來包含其他函數或是類別
(3)PHP裡不可重新定義同樣名子的函數
不一定要在呼叫函數之前就建立函數。
傳值(call by value)跟傳址(call by reference): 就是指定變數的傳遞方式。
傳值格式:
函數名稱($參數,...);
傳址格式:
函數名稱(&$參數,...)
PHP5.0開始建構元統一寫成 _ _construct();
<!--試做一類別來計算四方型的面積和週長,長=10cm,寬=5cm(網路上看到的題目)-->
<?php
class Count{ public $x; public $y; public function area(){ return $this->x*$this->y; } public function alllong(){ return $this->x*2+$this->y*2; } } $square=new Count(); $square->x=10; $square->y=15; echo "面積是:".$square->area()."<br/>"; echo "周長是:".$square->alllong(); ?> |
public $x; 相當於 var $x;
$this和->是指物件本身,->用來存取物件的成員。
::這個運算子提供了一個功能就是不用建立物件。
<?php
class myclass{
public
function add($x=1,$y=2){echo $x+$y;}
}
myclass::add();
?>
|
在類別裡面可以定義常數,但是在類別裡定義的話呢。必須將常數關鍵字改成const
如果要存取類別裡面的常數的話,也是可以不用建立物件,改用::存取。
<?php
class MyWeight{
const
Weight=48;
function
display(){
echo
MyWeight::Weight;
}
}
MyWeight::display();
?>
|
<!--定義一個room的類別,room類別有4個屬性,分別是roomNum(房號),roomSize(大),roomPeople(幾人),roomMonth(月),
建構函式有4個參數為num.size,people,month,來設定四個屬性的初始值,
建立四個方法
roomNum().roomSize(),roomPeople(),roomMonth();
最後顯示 某某某住1314號房,房間約5坪大,1人住,住了2個月
-->
<?php
class room{
public $roomNum;
public $roomSize;
public $roomPeople;
public $roomMonth;
function
__construct($num,$size,$people,$month){
$this->roomNum=$num;
$this->roomSize=$size;
$this->roomPeople=$people;
$this->roomMonth=$month;
}
function roomNum(){
return
$this->roomNum;
}
function roomSize(){
return
$this->roomSize;
}
function roomPeople(){
return
$this->roomPeople;
}
function roomMonth(){
return
$this->roomMonth;
}
}
$obj=new room(1314,5,1,2);
echo "某某某住在".$obj->roomNum()."號房,房間約".$obj->roomSize()."坪大,".$obj->roomPeople()."人住,住了".$obj->roomMonth()."個月";
?>
|
<!--最後結果:某某某住在1314號房,房間約5坪大,1人住,住了2個月-->
還不會寫OOP囧
回覆刪除OOP我也正在學習,是一個很大的門檻,而且很有趣:D
刪除