PHP語法快速入門(基礎篇)
技術標籤:PHP
在看這篇部落格之前,希望您有一定的HTML、CSS基礎。當然,如果之前學過其他的高階語言,那麼入門PHP對您來說將會是一件很輕鬆的事。
關於PHP的基本介紹,這裡就不在贅述,可以參看這個資料 PHP(計算機程式語言)
文章目錄
一、環境準備
PHP的執行環境以及IDE的安裝,請檢視博主之前的部落格PHP開發環境的搭建——PHPStorm的安裝使用
二、PHP程式碼結構
php是伺服器端的指令碼語言,它在伺服器端執行後,預設會以HTML的形式返回執行結果。它的程式碼檔案通常可以包含HTML、CSS和Javascript和PHP指令碼程式碼。php的程式碼檔案預設字尾是.php
。
php的指令碼程式碼格式可以有以下兩種形式:
<?php
// PHP程式碼
?>
<?php
// PHP程式碼
這兩個的區別就是有無 ?>
作為結尾。那麼這兩種格式分別可以在哪些情況下可以用呢?
對於第一種,對於所有情況下都是適用的。
對於第二種,因為PHP程式碼中可以包含HTML、CSS等程式碼。所以,當代碼檔案中含有HTML標籤時,則不能用(如下test1.php
)。當代碼檔案中只包含php程式碼塊時,則可以使用(如下程式碼test2.php
)。
test1.php
下面這個程式碼程式碼會報
Parse error: syntax error, unexpected '<', expecting end of file in D:\PhpstormProjects\untitled\index.php on line 14
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<?php
echo "hello world";
</body>
</html>
test2.php
<?php
echo "hello world";
程式碼每行都必須以分號隔開
PHP的程式碼註釋
<?php
<?php
// 這是 PHP 單行註釋
/// 這是文件註釋
/*
這是
PHP 多行
註釋
*/
?>
三、變數
3.1 變數的名命規則
php的變數名命規則和其他高階語言基本類似,主要有以下幾點:
- 變數名都以
$
開頭。 - 變數名必須以字元或者下劃線開始(即
$
後面跟著的第一個字元必須是字母或者下劃線)。 - 變數名區分大小寫。
- 變數名只能包含字母、數字和下劃線。
- 變數名不能含有空白字元,例如空格等。
3.2 變數的宣告
PHP是一個弱型別的語言,即在宣告一個變數的時候,不需要指定它是什麼型別的。系統會自動根據你給變數的值把變數轉成對應的資料型別。
<?php
$msg = "Hello world!";
$month = 1;
$year = 2021;
$number = 20.111
?>
3.3 變數的作用域
PHP變數的作用域有四種:
- local(區域性作用域)
- global(全域性作用域)
- static(靜態作用域)
- parameter(引數作用域)
3.3.1 Local和Global 作用域
所有在函式外部定義的變數為全域性變數,全域性全量在整個程式碼檔案中(函式體內除外)可以被應用到。函式中宣告的變數成為區域性變數,而區域性變數只能在宣告它的程式碼段裡可以被使用。
還有不管是全域性變數,還是區域性變數,都只能在它宣告之後的語句中使用。
例子如下程式碼所示:
ps:echo為輸出函式,可以把變數值打印出來
<?php
$a = 1; // 全域性變數
function test()
{
$b = 2;
echo $b;
echo "變數 a 的值為:$a ";
}
test();
echo "變數 b 的值為:$b ";
執行上述程式碼會報下述錯誤。因為變數$a
為全域性變數,無法再函式體中直接使用。而變數$b
為區域性變數。無法在全域性使用它。
2
Notice: Undefined variable: a in D:\PhpstormProjects\untitled\index.php on line 7
變數 a 的值為:
Notice: Undefined variable: b in D:\PhpstormProjects\untitled\index.php on line 11
變數 b 的值為:
如果在函式體中想使用全域性變數,可以使用global
關鍵字。
<?php
$a = 1; // 全域性變數
function test()
{
$b = 2;
global $a;
echo "變數 b 的值為:$b <br/>";
echo "變數 a 的值為:$a <br/>";
}
test();
結果如下
變數 b 的值為:2
變數 a 的值為:1
3.3.2 Static作用域
通常一個函式結束後,它宣告的變數都會被釋放掉。如果希望函式體中某個變數的值不被刪除的話,那麼可以在第一次宣告的時候使用static
關鍵字。
<?php
function testStatic() {
static $a = 0;
echo "a的值為:$a<br>";
$a++;
}
testStatic();
testStatic();
testStatic();
結果為
a的值為:0
a的值為:1
a的值為:2
3.3.3 parameter 引數作用域
引數是通過呼叫程式碼將值傳遞給函式的區域性變數。引數是在函式的引數列表中宣告的。作為函式宣告的一部分。
<?php
function test($msg) {
echo $msg;
}
test("hello world");
結果為
hello world
四、常量
與變數不同,常量在被定義後,它的值就不能被修改了。
-
它的命名規則和變數一樣,都是由字母、數字和下劃線組成,數字不能作為首字元出現。而且不需要加
$
。 -
常量預設是全域性的,使用的時候,也不需要用
global
關鍵字宣告。 -
使用define()函式定義常量。
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
該函式有三個引數
- name:必填引數,常量的名稱,即識別符號。
- value:必填引數,常量的值。
- case_insensitive:可選引數,如果為true,該常量則大小寫不敏感。預設是大小寫敏感。
<?php
define("WELCOME","hello world");
define("jxj","jiangxiaoju",true);
echo WELCOME;
echo '<br>';
echo JXJ;
echo '<br>';
function test(){
echo "函式中使用";
echo '<br>';
echo WELCOME;
echo '<br>';
}
test();
結果
hello world
jiangxiaoju
函式中使用
hello world
五、資料型別以及相關用法
PHP中資料型別有:String(字串), Integer(整型), Float(浮點型), Boolean(布林型), Array(陣列), Object(物件), NULL(空值)。
5.1 字串
字串就算一個字元序列或者說是一個文字。例如:“Hello World”;
簡單說,單引號或者雙引號的內容就算字串。
<?php
$str1 = "hello world";
$str2 = 'Hello World';
echo $str1;
echo '<br>';
echo $str2;
echo '<br>';
結果:
hello world
Hello World
5.1.1 將整數或者浮點型等其他型別變數變成字串
直接看程式碼。
在字串中直接引用變數名即可。
<?php
$a = 1;
$str1 = "a的值為:$a";
echo $str1;
$b = 1.1;
$str2 = "b的值為:$b";
echo '<br>';
echo $str2;
a的值為:1
b的值為:1.1
5.1.2 字串拼接
將兩個字串拼接成一個字串可以使用PHP的並置運算子.
。
<?php
$str1 = "hello";
$str2 = "world";
$str = $str1." ".$str2;
echo $str;
結果為:
hello world
5.1.3 strlen()函式,獲取字串長度
有時候需要字串的長度,那麼這時候就可以使用了strlen()
這個函式(關於函式的介紹在第九節)了。它的返回值是字串的長度(位元組數)。
<?php
$str1 = "hello world";
$len = strlen($str1);
echo "str1的長度是 $len";
結果為:
str1的長度是 11
5.2 整型
-
整型也就是整數,不包含小輸部分的數字。
-
整數有正數或者負數。
-
整數可以用十進位制、十六進位制(以0x為字首)、八進位制(以0為字首)三種形式表示。
ps:var_dump()函式可以返回變數的資料型別和值
<?php
$a = 1;
$b = -2;
$c = 0xFFF;
$d = 0123;
var_dump($a);
echo '<br>';
var_dump($b);
echo '<br>';
var_dump($c);
echo '<br>';
var_dump($d);
echo '<br>';
結果為:
int(1)
int(-2)
int(4095)
int(83)
5.2.1 字串轉整型
可以使用intval()
這個函式將字串轉成整型。
該函式的函式定義為int intval(mixed $var[, int $base = 10])
第一個引數為字串,第二個引數為進位制數。預設為10。
<?php
$str1 = "123";
$str2 = "1000";
$str3 = "0xFF";
$a = intval($str1);
$b = intval($str2,2);
$c = intval($str3,16);
echo $a;
echo '<br>';
echo $b;
echo '<br>';
echo $c;
echo '<br>';
結果為:
123
8
255
5.2.2 整型之間的比較
整型之間的比較見下一節內容。
5.3 浮點型
浮點數是帶小數部分的數字,或是指數形式。
<?php
$a = 1.111;
$b = -2.111;
$c = 1e10+10;
var_dump($a);
echo '<br>';
var_dump($b);
echo '<br>';
var_dump($c);
echo '<br>';
結果為:
float(1.111)
float(-2.111)
float(10000000010)
5.3.1 字串轉浮點型
可以使用floatval()
這個函式將字串轉成浮點型。
<?php
$str = "123.456";
$a = floatval($str);
var_dump($a);
結果為:
float(123.456)
5.4 布林型
布林型的值有兩種:true
和false
。一般用於條件判斷
$x=true;
$y=false;
5.5 陣列
陣列就算可以在一個變數中儲存多個值。這些值的型別可以互不相同。
陣列的定義有以下兩種方式:
<?php
$arr1 = ["aaa",1,false,123.12121];
var_dump($arr1);
echo '<br>';
$arr2 = array("hello world",true,12132,455);
var_dump($arr2);
echo '<br>';
結果為:
array(4) { [0]=> string(3) "aaa" [1]=> int(1) [2]=> bool(false) [3]=> float(123.12121) }
array(4) { [0]=> string(11) "hello world" [1]=> bool(true) [2]=> int(12132) [3]=> int(455) }
更多用法參考第十節的內容。
5.6 物件
物件資料型別也可以用於儲存資料。不過必須先用class
關鍵字宣告類物件。類是可以包含屬性和方法的結構。
class Phone
{
// 屬性
var $color;
// 建構函式
function _construct($color = "red")
{
$this->color = $color;
}
// 方法
function get_color()
{
return $this->color;
}
}
更多用法參考第十二節的內容。
5.7 NULL值
NULL值就算變數沒有值,NULL表示啥都沒有。
NULL 值指明一個變數是否為空值。 同樣可用於資料空值和NULL值的區別。
<?php
$x="Hello world!";
$x=null;
var_dump($x);
結果為:
NULL
六、PHP中的運算子
php中運算子有以下幾種型別:
- 算術運算子
- 賦值運算子
- 遞增/遞減運算子
- 比較運算子
- 邏輯運算子
- 陣列運算子
- 三元運算子
6.1 算術運算子
算術運算子有 +
、-
、*
、/
、%
、-
、。
分別是加、減、乘、除、取模(除法的餘數)、取反、並置(拼接兩個字串)。
<?php
$a = 6;
$b = 9;
echo $a + $b;
echo '<br>';
echo $a - $b;
echo '<br>';
echo $a * $b;
echo '<br>';
echo $a / $b;
echo '<br>';
echo $a % $b;
echo '<br>';
$str1 = "hello ";
$str2 = "world";
echo $str1.$str2;
結果為:
15
-3
54
0.66666666666667
6
hello world
6.2 賦值運算子
賦值運算子有 =
、+=
、-=
、*=
、/=
、%=
、.=
。
例如:a += b
等價於a = a + b
。 其餘幾個也是類似。
<?php
$a = 1;
$b = 2;
$b += 2;
echo $b;
echo '<br>';
$c = 3;
$c -= 3;
echo $c;
echo '<br>';
$d = 4;
$d *= 5;
echo $d;
echo '<br>';
$e = 6;
$e /= 6;
echo $e;
echo '<br>';
$f = 7;
$f %= 2;
echo $f;
結果為:
4
0
20
1
1
6.3 遞增/遞減運算子
++ x | 預遞增 | x 加 1,然後返回 x |
---|---|---|
x ++ | 後遞增 | 返回 x,然後 x 加 1 |
– x | 預遞減 | x 減 1,然後返回 x |
x – | 後遞減 | 返回 x,然後 x 減 1 |
<?php
$x=10;
echo ++$x;
echo '<br>';
$y=10;
echo $y++;
echo '<br>';
$z=5;
echo --$z;
echo '<br>';
$i=5;
echo $i--;
結果為:
11
10
4
5
6.4 比較運算子
x == y | 等於 | 如果 x 等於 y,則返回 true | 5==8 返回 false |
---|---|---|---|
x === y | 絕對等於 | 如果 x 等於 y,且它們型別相同,則返回 true | 5===“5” 返回 false |
x != y | 不等於 | 如果 x 不等於 y,則返回 true | 5!=8 返回 true |
x <> y | 不等於 | 如果 x 不等於 y,則返回 true | 5<>8 返回 true |
x !== y | 絕對不等於 | 如果 x 不等於 y,或它們型別不相同,則返回 true | 5!==“5” 返回 true |
x > y | 大於 | 如果 x 大於 y,則返回 true | 5>8 返回 false |
x < y | 小於 | 如果 x 小於 y,則返回 true | 5<8 返回 true |
x >= y | 大於等於 | 如果 x 大於或者等於 y,則返回 true | 5>=8 返回 false |
x <= y | 小於等於 | 如果 x 小於或者等於 y,則返回 true | 5<=8 返回 true |
6.5 邏輯運算子
邏輯運算子有and
、or
、&&
、||
、!
。
and
和&&
都是表示與運算。例如:x and y、x && y 。只有當x和y都為true時,才返回true。否則為false。or
和||
都是表示或運算。例如:x or y、x || y 。只有當x或y至少一個為rue時,才返回true。否則為false。!
非運算。!x 如果x為true、則返回false。如果x為false,則返回true。
6.6 陣列運算子
運算子 | 名稱 | 描述 |
---|---|---|
x + y | 集合 | x 和 y 的集合 |
x == y | 相等 | 如果 x 和 y 具有相同的鍵/值對,則返回 true |
x === y | 恆等 | 如果 x 和 y 具有相同的鍵/值對,且順序相同型別相同,則返回 true |
x != y | 不相等 | 如果 x 不等於 y,則返回 true |
x <> y | 不相等 | 如果 x 不等於 y,則返回 true |
x !== y | 不恆等 | 如果 x 不等於 y,則返回 true |
<?php
$x = array("a" => "hello", "b" => "world");
$y = array("c" => "jiang", "d" => "xiaoju");
$z = $x + $y;
var_dump($z);
echo '<br>';
var_dump($x == $y);
echo '<br>';
var_dump($x === $y);
echo '<br>';
var_dump($x != $y);
echo '<br>';
var_dump($x <> $y);
echo '<br>';
var_dump($x !== $y);
結果為:
array(4) { ["a"]=> string(5) "hello" ["b"]=> string(5) "world" ["c"]=> string(5) "jiang" ["d"]=> string(6) "xiaoju" }
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)
6.7 三元運算子
三元運算子:?:
。
格式為(expr1) ? (expr2) : (expr3)
當expr1為真時,返回expr2,否則返回expr3。
<?php
$a = 11;
$msg = $a > 0 ? "a大於0" : "a小於等於0";
echo $msg;
結果為:
a大於0
6.8運算子優先順序
結合方向 | 運算子 | 附加資訊 |
---|---|---|
無 | clone new | clone 和 new |
左 | [ | array() |
右 | ++ – ~ (int) (float) (string) (array) (object) (bool) @ | 型別和遞增/遞減 |
無 | instanceof | 型別 |
右 | ! | 邏輯運算子 |
左 | * / % | 算術運算子 |
左 | + – . | 算術運算子和字串運算子 |
左 | << >> | 位運算子 |
無 | == != === !== <> | 比較運算子 |
左 | & | 位運算子和引用 |
左 | ^ | 位運算子 |
左 | | | 位運算子 |
左 | && | 邏輯運算子 |
左 | || | 邏輯運算子 |
左 | ? : | 三元運算子 |
右 | = += -= *= /= .= %= &= |= ^= <<= >>= => | 賦值運算子 |
左 | and | 邏輯運算子 |
左 | xor | 邏輯運算子 |
左 | or | 邏輯運算子 |
左 | , | 多處用到 |
通過括號的配對來明確標明運算順序,而非靠運算子優先順序和結合性來決定,通常能夠增加程式碼的可讀性。
七、分支結構
在程式碼中有時候我們需要根據不同的條件,執行不同更多程式碼段,那麼這時候就需要用到條件語句。PHP中的條件語句 有以下幾種:
- if 語句 - 在條件成立時執行程式碼
- if…else 語句 - 在條件成立時執行一塊程式碼,條件不成立時執行另一塊程式碼
- if…elseif…else 語句 - 在若干條件之一成立時執行一個程式碼塊
- switch 語句 - 在若干條件之一成立時執行一個程式碼塊
7.1 if 語句
語法結構
if (條件)
{
條件為true時,執行這部分程式碼。
}
<?php
$a = 10;
if($a>=10) {
echo "a大於等於10";
}
結果為
<?php
$a = 10;
if($a>=10) {
echo "a大於等於10";
}
7.2 if…else 語句
語法結構
if (條件)
{
條件為true時,執行這部分程式碼。
}
else
{
條件為false時,執行這部分程式碼。
}
<?php
$a = 9;
if($a>=10) {
echo "a大於等於10";
}else{
echo 'a小於10';
}
結果為:
a小於10
7.3 if…elseif…else 語句
語法結構。elseif可以有一個,或者多個。
if (條件)
{
if條件為true時,執行這部分程式碼。
}
elseif(條件)
{
elseif條件為true時,執行這部分程式碼。
}
elseif(條件)
{
elseif條件為true時,執行這部分程式碼。
}
else
{
條件為false時,執行這部分程式碼。
}
<?php
$score= 84;
if($score>=85) {
echo "優秀";
}elseif ($score>=70) {
echo "良好";
}elseif ($score>=60) {
echo "及格";
}else{
echo "不及格";
}
結果為:
良好
7.4 switch 語句
語法結構
switch (n)
{
case label1:
如果 n=label1,此處程式碼將執行;
break;
case label2:
如果 n=label2,此處程式碼將執行;
break;
default:
如果 n 既不等於 label1 也不等於 label2,此處程式碼將執行;
}
當n的值與某個case的值相等時,就會該case部分的程式碼。最後記得使用break跳出。因為當與某個case匹配後,會執行後面所有的程式碼塊。
對比一下以下兩個程式碼的結果。
<?php
$favcolor="red";
switch ($favcolor)
{
case "red":
echo "你喜歡的顏色是紅色!";
break;
case "blue":
echo "你喜歡的顏色是藍色!";
break;
case "green":
echo "你喜歡的顏色是綠色!";
break;
default:
echo "你喜歡的顏色不是 紅, 藍, 或綠色!";
}
結果為:
你喜歡的顏色是紅色!
<?php
$favcolor="red";
switch ($favcolor) {
case "red":
echo "你喜歡的顏色是紅色!";
case "blue":
echo "你喜歡的顏色是藍色!";
case "green":
echo "你喜歡的顏色是綠色!";
default:
echo "你喜歡的顏色不是 紅, 藍, 或綠色!";
}
結果為:
你喜歡的顏色是紅色!你喜歡的顏色是藍色!你喜歡的顏色是綠色!你喜歡的顏色不是 紅, 藍, 或綠色!
八、迴圈
我們可以根據需要,重複地執行某個程式碼塊。PHP中迴圈語句有以下幾種。
- while - 只要指定的條件成立,則迴圈執行程式碼塊
- do…while - 首先執行一次程式碼塊,然後在指定的條件成立時重複這個迴圈
- for - 迴圈執行程式碼塊指定的次數
- foreach - 根據陣列中每個元素來迴圈程式碼塊
8.1 While 迴圈
只有條件滿足的時候,才會執行。
語法結構如下。
while(條件)
{
條件為true。執行這部分程式碼。
}
<?php
$i = 0;
while ($i < 10) {
echo "i的值為:$i<br>";
$i++;
}
結果為:
i的值為:0
i的值為:1
i的值為:2
i的值為:3
i的值為:4
i的值為:5
i的值為:6
i的值為:7
i的值為:8
i的值為:9
8.2 do…while
至少執行一次程式碼,然後檢查條件,只要條件成立,就會重複進行迴圈。
語法結構
do
{
要執行的程式碼;
}
while (條件);
<?php
$i = 0;
do {
echo "i的值為:$i<br>";
$i++;
}while ($i < 10);
結果為:
i的值為:0
i的值為:1
i的值為:2
i的值為:3
i的值為:4
i的值為:5
i的值為:6
i的值為:7
i的值為:8
i的值為:9
8.3 for 迴圈
for 迴圈用於您預先知道指令碼需要執行的次數的情況。
語法結構
for (初始值; 條件; 增量)
{
要執行的程式碼;
}
- 初始值:主要是初始化一個變數值,用於設定一個計數器(但可以是任何在迴圈的開始被執行一次的程式碼)。
- 條件:迴圈執行的限制條件。如果為 TRUE,則迴圈繼續。如果為 FALSE,則迴圈結束。
- 增量:主要用於遞增計數器(但可以是任何在迴圈的結束被執行的程式碼)。
PS:初始值和增量可以空著不寫,或者有多個表示式、用逗號隔開
<?php
for($i=0;$i<10;$i++){
echo "i的值為:$i<br>";
}
結果為:
i的值為:0
i的值為:1
i的值為:2
i的值為:3
i的值為:4
i的值為:5
i的值為:6
i的值為:7
i的值為:8
i的值為:9
8.4 foreach
foreach 迴圈用於遍歷陣列。
語法結構
foreach ($arr as $val)
{
程式碼塊;
}
每進行一次迴圈,當前陣列元素的值就會被賦值給 $val變數(陣列指標會逐一地移動),在進行下一次迴圈時,您將看到陣列中的下一個值。
<?php
$arr = ["hello", "world", 1111, 2222, "aaaaa", "bbbb"];
foreach ($arr as $val) {
echo $val.'<br>';
}
結果為:
hello
world
1111
2222
aaaaa
bbbb
九、函式
函式是一段具有某種功能的程式碼塊。可以被重複呼叫。
9.1 函式的建立
通過關鍵字function
定義,接著一個函式名。在()
中可以放入零個或者多個引數。
語法結構
function functionName($param1,$param2...)
{
執行的程式碼
}
下面是一個簡單的函式,可以打印出"Hello World"
<?php
function sayHelloWorld()
{
echo "Hello World";
}
sayHelloWorld();
結果為:
Hello World
9.2 函式的引數
在呼叫函式的時候,我們也可以給函式傳入一些值。
例如下面的例子,我們傳入兩個變數a和b,然後打印出a+b的值。
<?php
function add($a,$b)
{
echo ($a+$b).'<br>';
}
add(1,2);
add(2.0,5.5);
結果為:
3
7.5
9.2.1 引數的預設值
我們可以給函式的引數指定一些預設值。這樣我們在呼叫的時候就不需要每次都傳值過去了。
例如下面的例子,我們傳入兩個變數a和b,然後打印出a+b的值。b的值預設為10。
<?php
function add($a,$b=10)
{
echo ($a+$b).'<br>';
}
add(1);
結果為:
11
當你給引數設定了預設之後,那麼該引數右邊的引數存在引數時,也都要有預設值才行。
例如下面這種定義形式是錯誤的。
<?php
function add($a,$b=10)
{
echo ($a+$b).'<br>';
}
9.3 函式的返回值
當函式執行完,需要返回結果時,可以使用return。
例如下面的例子,我們傳入兩個變數a和b,返回a+b的值。
<?php
function add($a, $b)
{
$sum = $a + $b;
return $sum;
}
$ans = add(1,2);
echo $ans;
結果為:
3
PS:return語句除了可以用於返回函式的值以為,還可以用於結束該函式的執行過程,例如下面這個例子
<?php
function test()
{
if(true){
echo "hello world";
return;
}
echo "aaaaaa";
}
test();
結果為:
hello world
十、陣列
關於陣列的介紹,我們在第五節資料型別部分已經提到過。陣列是一個可以在單個變數中儲存多個值的特殊變數,而且陣列中的值的型別可以不唯一。
陣列的定義有以下兩種方式。
<?php
$arr1 = ["aaa",1,false,123.12121];
var_dump($arr1);
echo '<br>';
$arr2 = array("hello world",true,12132,455);
var_dump($arr2);
echo '<br>';
陣列中每個元素結構預設為"key => value"。當沒有指定key時,預設是從0開始。我們可以通過key來訪問陣列中的元素。
<?php
$arr1 = ["aaa",1,false,123.12121];
echo $arr1[0];
我們也可以自己指定key值
<?php
$arr1 = array();
$arr1[0]="hello world";
$arr1["msg"] = "success";
var_dump($arr1);
結果為:
array(2) { [0]=> string(11) "hello world" ["msg"]=> string(7) "success" }
10.1 獲取陣列長度
count() 函式用於返回陣列的長度(元素的數量):
<?php
$arr1 = ["aaa",1,false,123.12121];
echo count($arr1);
結果為:
4
10.2 遍歷數值陣列
<?php
$arr1 = ["aaa",1,"hello",123.12121];
$len =count($arr1);
for($x=0;$x<$len;$x++)
{
echo $arr1[$x];
echo "<br>";
}
結果為:
aaa
1
hello
123.12121
10.3 關聯陣列
關聯陣列使用我們自己分配的key。
<?php
$arr1 = array();
$arr1[0]="hello world";
$arr1["msg"] = "success";
var_dump($arr1);
結果為:
array(2) { [0]=> string(11) "hello world" ["msg"]=> string(7) "success" }
10.4 遍歷關聯陣列
<?php
$arr1 = array();
$arr1[0]="hello world";
$arr1["msg"] = "success";
foreach ($arr1 as $item) {
echo $item;
echo '<br>';
}
結果為:
hello world
success