1. 程式人生 > 其它 >PHP語法快速入門(基礎篇)

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 布林型

布林型的值有兩種:truefalse。一般用於條件判斷

$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,則返回 true5==8 返回 false
x === y絕對等於如果 x 等於 y,且它們型別相同,則返回 true5===“5” 返回 false
x != y不等於如果 x 不等於 y,則返回 true5!=8 返回 true
x <> y不等於如果 x 不等於 y,則返回 true5<>8 返回 true
x !== y絕對不等於如果 x 不等於 y,或它們型別不相同,則返回 true5!==“5” 返回 true
x > y大於如果 x 大於 y,則返回 true5>8 返回 false
x < y小於如果 x 小於 y,則返回 true5<8 返回 true
x >= y大於等於如果 x 大於或者等於 y,則返回 true5>=8 返回 false
x <= y小於等於如果 x 小於或者等於 y,則返回 true5<=8 返回 true

6.5 邏輯運算子

邏輯運算子有andor&&||

  • 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 newclone 和 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