我的PHP之旅--数组的认识(初级)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的PHP之旅--数组的认识(初级)相关的知识,希望对你有一定的参考价值。

数组

php的数组与swift有些许不同,分为3类(初级,以后会涉及到多维数组和数组指针等)。

  1. 枚举数组
  2. 关联数组
  3. 混合数组

 

枚举数组

枚举数组跟swift中的数组差不多:

<?php

$arr = array(11, 55, "string");        // 这是枚举数组,可根据下标访问数据。
// 下标0:11
// 下标1:55
// 下标2:“string”
echo arr[2];

?>

 

关联数组

关联数组可以指定下标(只能是整数或字符串):

<?php

// 语法
$arr = array("name" => "alex_sk", "age" => 23);        // 这是枚举数组,可根据下标访问数据。
// 下标name:"alex_sk"
// 下标age: 23
echo arr["age"];    // 可以根据指定的key来访问值

?>

 

混合数组

混合数组就是下标类型既有字符串又有整形:

<?php

// 语法
$arr = array("name" => "alex_sk", "age" => 23, 0, 5, 9 => 89, 55, 20 => 48);        // 这是混合数组。
// 下标name        :"alex_sk"
// 下标age        :23
// 下标0            :0
// 下标1            :5
// 下标9            :89
// 下标10        :55
// 下标20        :48
echo arr[10];

?>

 

数组的创建:

<?php

// 第一种创建方式:
$arr = array("name" => "alex_sk", "age" => 23, "sex" => "男");

// 第二种创建方式:
$arr2[0] = 5;            // 当arr2没有被创建的时候,PHP会自动创建,并且为0下标赋值。
$arr2["key"] = "value";
$arr2[1] = 7;
// 下标0:5
// 下标1:7
// 下标key:"value"

// 第三种创建方式:
$arr3[] = "first";        // 当arr3没有被创建的时候,PHP会自动创建,并且为0下标赋值。
$arr3[] = "second";        // $arr3[] 语句没有指定下标值,但是PHP会以最大的下标值+1来设置值
$arr3[5] = 5;
$arr3[] = 6;
// 下标0:"first"
// 下标1:"second"
// 下标5:5
// 下标6:6

?>

 

认识一下多维数组吧

声明方式:

<?php

// 第一种创建方式:
$arr = array(
    array(1, 2, 3), 
    array(4, 5, 6)
    );
// 下标[0][0]:1
// 下标[0][1]:2
// 下标[0][2]:3
// 下标[1][0]:4
// 下标[1][1]:5
// 下标[1][2]:6
echo arr[1][0];

// 第二种创建方式:
$arr2[][] = 3;
$arr2[][] = 4;
// 下标[0][0]:3
// 下标[0][1]:4

?>

 

数组的一些方法

  1. print_r:打印数组的方法,它会把数组中的所有成员显示的清清楚楚。
  2. count:返回数组的有效元素个数。
  3. foreach:多用于循环关联数组的循环。
<?php

$arr = [5, 68, 73];
$sum = 0;
// arr是枚举数组,可以使用for循环
for ($i = 0; $i < count($arr); $i++) { 
    $sum += $arr[$i];
}

// 想关联数组就无法用for循环了,可以用foreach,foreach是用数组指针遍历数组的。
$arr2 = ["name" => "alex_sk", "age" => 23, "sex" => "男"];
foreach ($arr2 as $key => $value) {
    echo "{$key} is {$value} </ br>";
}
?>

 

以上是关于我的PHP之旅--数组的认识(初级)的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

JAVA进阶之旅——认识Class类,反射的概念,Constructor,Fiald,Method,反射Main方法,数组的反射和实践

我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段

我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段

我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段

我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段