在看这篇博客之前,希望您有一定的HTML、CSS基础。当然,如果之前学过其他的高级语言,那么入门PHP对您来说将会是一件很轻松的事。

关于PHP的基本介绍,这里就不在赘述,可以参看这个资料 PHP(计算机编程语言)

文章目录

  • 一、环境准备
  • 二、PHP代码结构
  • 三、变量
    • 3.1 变量的名命规则
    • 3.2 变量的声明
    • 3.3 变量的作用域
      • 3.3.1 Local和Global 作用域
      • 3.3.2 Static作用域
      • 3.3.3 parameter 参数作用域
  • 四、常量
  • 五、数据类型以及相关用法
    • 5.1 字符串
    • 5.1.1 将整数或者浮点型等其他类型变量变成字符串
      • 5.1.2 字符串拼接
      • 5.1.3 strlen()函数,获取字符串长度
    • 5.2 整型
      • 5.2.1 字符串转整型
      • 5.2.2 整型之间的比较
    • 5.3 浮点型
      • 5.3.1 字符串转浮点型
    • 5.4 布尔型
    • 5.5 数组
    • 5.6 对象
    • 5.7 NULL值
  • 六、PHP中的运算符
    • 6.1 算术运算符
    • 6.2 赋值运算符
    • 6.3 递增/递减运算符
    • 6.4 比较运算符
    • 6.5 逻辑运算符
    • 6.6 数组运算符
    • 6.7 三元运算符
    • 6.8运算符优先级
  • 七、分支结构
    • 7.1 if 语句
    • 7.2 if…else 语句
    • 7.3 if…elseif….else 语句
    • 7.4 switch 语句
  • 八、循环
    • 8.1 While 循环
    • 8.2 do…while
    • 8.3 for 循环
    • 8.4 foreach
  • 九、函数
    • 9.1 函数的创建
    • 9.2 函数的参数
      • 9.2.1 参数的默认值
    • 9.3 函数的返回值
  • 十、数组
    • 10.1 获取数组长度
    • 10.2 遍历数值数组
    • 10.3 关联数组
    • 10.4 遍历关联数组

一、环境准备

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,则返回 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 逻辑运算符

逻辑运算符有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 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

本文地址:https://blog.csdn.net/qq_43058685/article/details/112571857