PHP入門

來源:互聯網
上載者:User

標籤:

索引數組初始化

PHP有兩種數組:索引數組、關聯陣列。

索引和關聯兩個詞都是針對數組的鍵而言的。

先介紹下索引數組,索引數組是指數組的鍵是整數的數組,並且鍵的整數順序是從0開始,依次類推。

下面使用圖來說明一下:

可以使用下面代碼實現:

$fruit = array("蘋果","香蕉","菠蘿"); 注意數組的鍵是從0開始的。可以使用print_r($fruit);語句輸出數組鍵及對應的值。

索引數組賦值

索引數組賦值有三種方式:

第一種:用陣列變數的名字後面跟一個中括弧的方式賦值,當然,索引數組中,中括弧內的鍵一定是整數。比如,$arr[0]=‘蘋果‘;

 

第二種:用array()建立一個空數組,使用=>符號來分隔鍵和值,左側表示鍵,右側表示值。當然,索引數組中,鍵一定是整數。比如,array(‘0‘=>‘蘋果‘);

 

第三種:用array()建立一個空數組,直接在數組裡用英文的單引號或者英文的雙引號"賦值,數組會預設建立從0開始的整數的鍵。比如array(‘蘋果‘);這個數組相當於array(‘0‘=>‘蘋果‘);

訪問索引數組內容

有的時候我們需要把數組中的內容也就是值取出來該怎麼辦呢?用陣列變數的名字後跟的中括弧中的鍵,來訪問數組中的值。

例如:

$fruit = array(‘蘋果‘,‘香蕉‘);$fruit0 = $fruit[‘0‘];print_r($fruit0);//結果為蘋果

上面代碼的作用:先把一個數組$fruit第一個值取出來然後賦給一個變數$fruit0,最後輸出變數值。

for逐一查看索引數組裡的值

for迴圈可以將數組裡的所有值都訪問到,下面我們展示下,用for逐一查看索引數組裡的值。

例如:

$fruit=array(‘蘋果‘,‘香蕉‘,‘菠蘿‘);for($i=0; $i<3; $i++){    echo ‘<br>數組第‘.$i.‘值是:‘.$fruit[$i];}
foreach逐一查看索引數組裡的值

foreach迴圈可以將數組裡的所有值都訪問到,下面我們展示下,用foreach逐一查看索引數組裡的值。

例如:

$fruit=array(‘蘋果‘,‘香蕉‘,‘菠蘿‘);foreach($fruit as $k=>$v){    echo ‘<br>第‘.$k.‘值是:‘.$v;}
關聯陣列初始化

回顧下前面介紹的內容,PHP有兩種數組:索引數組、關聯陣列。

索引和關聯兩個詞都是針對數組的鍵而言的。

先介紹下,關聯陣列是指數組的鍵是字串的數組。

可以使用下面代碼實現:

$fruit = array(    ‘apple‘=>"蘋果",    ‘banana‘=>"香蕉",    ‘pineapple‘=>"菠蘿"); 

可以使用print_r($fruit);語句輸出數組鍵及對應的值。

關聯陣列賦值

關聯陣列賦值有兩種方式:

第一種:用陣列變數的名字後面跟一個中括弧的方式賦值,當然,關聯陣列中,中括弧內的鍵一定是字串。比如,$arr[‘apple‘]=‘蘋果‘;

 

第二種:用array()建立一個空數組,使用=>符號來分隔鍵和值,左側表示鍵,右側表示值。當然,關聯陣列中,鍵一定是字串。比如,array(‘apple‘=>‘蘋果‘);

訪問關聯陣列內容

用陣列變數的名字後跟中括弧+鍵的方式來訪問數組中的值,鍵使用單引號或者雙引號括起來。

比如:

$fruit = array(‘apple‘=>"蘋果",‘banana‘=>"香蕉",‘pineapple‘=>"菠蘿"); $fruit0 = $fruit[‘banana‘];print_r($fruit0);

上面代碼的作用:先把一個數組$fruit中鍵為banana字串的值取出來然後賦給一個另一個變數$fruit0,最後輸出變數值。

foreach逐一查看關聯陣列裡的值

foreach迴圈可以將數組裡的所有值都訪問到,下面我們展示下,用foreach逐一查看關聯陣列裡的值。

例如:

$fruit=array(‘apple‘=>"蘋果",‘banana‘=>"香蕉",‘pineapple‘=>"菠蘿");foreach($fruit as $k=>$v){    echo ‘<br>水果的英文鍵名:‘.$k.‘,對應的值是:‘.$v;}
自訂函數

PHP內建了超過1000個函數,因此函數使得PHP成為一門非常強大的語言。大多數時候我們使用系統的內建函數就可以滿足需求,但是自訂函數通過將一組代碼封裝起來,使代碼進行複用,程式結構與邏輯更加清晰。

PHP函數的定義方式:
    1.使用關鍵字“function”開始
    2.函數名可以是字母或底線開頭:function name()
    3.在大括弧中編寫函數體:

function name() {    echo ‘Eric‘;}

通過上面的步驟,我們就定義了一個簡單的函數,當我們需要的時候,就可以在代碼中調用這個函數,調用方法為函數名+參數,例如:name();

自訂函數

PHP內建了超過1000個函數,因此函數使得PHP成為一門非常強大的語言。大多數時候我們使用系統的內建函數就可以滿足需求,但是自訂函數通過將一組代碼封裝起來,使代碼進行複用,程式結構與邏輯更加清晰。

PHP函數的定義方式:
    1.使用關鍵字“function”開始
    2.函數名可以是字母或底線開頭:function name()
    3.在大括弧中編寫函數體:

function name() {    echo ‘Eric‘;}

通過上面的步驟,我們就定義了一個簡單的函數,當我們需要的時候,就可以在代碼中調用這個函數,調用方法為函數名+參數,例如:name();

函數的參數

PHP的函數可以沒有參數,也可以有若干個參數,多個參數稱之為參數列表,採用逗號進行分割,參數類似於一個變數,調用時用來傳遞資料到函數體中。通過傳遞參數可以使函數實現對參數的運算,得到我們想要的結果。

參數的變數名可以自由指定,但最好能夠表達相關的意思,常用的設定參數的方法為:

function sum($a, $b) {     return $a+$b; }
傳回值

使用return關鍵字可以使函數傳回值,可以返回包括數組和對象的任意類型,如果省略了 return,則預設傳回值為 NULL。

function add($a) {    return $a+1;}$b = add(1);

返回語句會立即中止函數的運行,並且將控制權交回調用該函數的程式碼,因此下面函數的傳回值跟上面的函數是一樣的。

function add($a) {    return $a+1;    $a = 10;    return $a+20;}$b = add(1);

函數不能返回多個值,但可以通過返回一個數組來得到類似的效果。

function numbers() {    return array(1, 2, 3);}list ($one, $two, $three) = numbers();
可變函數

所謂可變函數,即通過變數的值來調用函數,因為變數的值是可變的,所以可以通過改變一個變數的值來實現調用不同的函數。經常會用在回呼函數、函數列表,或者根據動態參數來調用不同的函數。可變函數的調用方法為變數名加括弧。

function name() {    echo ‘jobs‘;}$func = ‘name‘;$func(); //調用可變函數

可變函數也可以用在對象的方法調用上。

class book {    function getName() {        return ‘bookname‘;    }}$func = ‘getName‘;$book = new book();$book->$func();
內建函數

內建函數指的是PHP預設支援的函數,PHP內建了很多標準的常用的處理函數,包括字串處理、數組函數、檔案處理、session與cookie處理等。

我們先拿字串處理函數來舉例,通過內建函數str_replace可以實現字串的替換。下面的例子將“jobs”替換成“steven jobs”:

$str = ‘i am jobs.‘;$str = str_replace(‘jobs‘, ‘steven jobs‘, $str);echo $str; //結果為“i am steven jobs”

另外一些函數是通過其他擴充來支援的,比如mysql資料庫處理函數,GD影像處理函數,郵件處理函數等,PHP預設載入了一些常用的擴充庫,我們可以安裝或者載入其他擴充庫來增加PHP的處理函數。

後面的章節我們會介紹更多其他的內建函數及用法。

判斷函數是否存在

當我們建立了自訂函數,並且瞭解了可變函數的用法,為了確保程式調用的函數是存在的,經常會先使用function_exists判斷一下函數是否存在。同樣的method_exists可以用來檢測類的方法是否存在。

function func() {}if (function_exists(‘func‘)){    echo ‘exists‘;}

類是否定義可以使用class_exists。

class MyClass{}// 使用前檢查類是否存在if (class_exists(‘MyClass‘)) {    $myclass = new MyClass();}

PHP中有很多這類的檢查方法,例如檔案是否存在file_exists等。

$filename = ‘test.txt‘;if (!file_exists($filename)) {    echo $filename . ‘ not exists.‘;}
 類和對象

類是物件導向程式設計的基本概念,通俗的理解類就是對現實中某一個種類的東西的抽象, 比如汽車可以抽象為一個類,汽車擁有名字、輪胎、速度、重量等屬性,可以有換擋、前進、後退等操作方法。

通常定義一個汽車類的方法為:

class Car {    $name = ‘汽車‘;    function getName() {        return $this->name;    }}

類是一類東西的結構描述,而對象則是一類東西的一個具體執行個體,例如汽車這個名詞可以理解為汽車的總類,但這輛汽車則是一個具體的汽車對象。

對象通過new關鍵字進行執行個體化:

$car = new Car();echo $car->getName();

類與對象看起來比較相似,但實際上有本質的區別,類是抽象的概念,對象是具體的執行個體。類可以使程式具有可重用性。

建立一個對象

上一節,我們使用汽車舉例來認識了類與對象,本節我們來瞭解一下類的定義方法,類通過關鍵字class開頭,然後是類名與花括弧,在花括弧中定義類的屬性與方法。類名必須是字母或底線開頭,後面緊跟若干個字母、數字或底線,類名最好能夠表意,可以採用名詞或者英文單詞。

//定義一個類class Car {    //定義屬性    public $name = ‘汽車‘;    //定義方法    public function getName() {        //方法內部可以使用$this偽變數調用對象的屬性或者方法        return $this->name;    }}

要建立一個類的執行個體,可以使用new關鍵字建立一個對象。

$car = new Car();//也可以採用變數來建立$className = ‘Car‘;$car = new $className();

PHP入門

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.