Day11 PHP数据类型--复合类型之阵列

数组/阵列(array):存放一组数据

存资料就要用变数,不过变数只能一次存一个资料,而数组是一种可以一次储存多个变数的资料结构,并且除了一维阵列之外,还可以写成多维阵列,储存更多的値。

定义和用法

array() 函数创建阵列。

$arr=array("第一个値","第二个値","第三个値");

其中 $arr 就是一个阵列,包含了三个値在里面,代表的意义如下
$arr[0]=第一个値、$arr[1]=第二个値、$arr[2]=第三个値。

其中「$arr[0]=第一个値」这个叫做阵列元素,0、1、2 分别是阵列索引,而「第一个値」、「第二个値」与「第三个値」称为阵列値。

  • 自订索引的阵列
    接受任意数量用逗号分隔的 键(key) => 值(value)
<?php
$arr = array(
     key  =>value,
     key2 => value2,
     key3 =>value3,
    ...
)

// php 5.4 版後,下列语法也是合法的
    $arr2 = [ key=>value , key=>value , key=>value , ...]; 
  • 存取与使用阵列呢?

我们会用中括号[key(键、索引)]来存取阵列,拿到相对应的值(value)

在PHP 中,有三种类型的阵列:

  1. 数值阵列 -带有数字ID键的阵列
  2. 关联阵列 -带有指定的键的阵列,每个键关联一个值
  3. 多维阵列 -包含一个或多个阵列的阵列
  • 数值阵列的语法:
    自动分配ID 键(ID 键总是从0 开始)
$arr = array( value1,value2,value3,etc. );
  • 关联阵列的语法:
    关联阵列是使用您分配给阵列的指定的键的数组。
$arr = array( key=>value,key=>value,key=>value,etc. );
  • 多维阵列是包含一个或多个阵列的阵列。
    在多维阵列中,主数组中的每一个元素也可以是一个阵列,子数组中的每一个元素也可以是一个阵列。
	$arr = array(
		array('id'=>1,'name'=>'Winnie','age'=>18,'sex'=>0),
		array('id'=>2,'name'=>'Ritabear','age'=>20,'sex'=>0),
		array('id'=>3,'name'=>'Bear','age'=>18,'sex'=>1),

	);
	//var_dump($arr);

以下就是一个实际多维阵列的使用例子,利用for循环把东西都取出来,只是因为还没有讲到回圈,所以这里先放个例子,以後再解释循环。

<?php
/*    for循环遍历阵列将内容输入到表格中   */
$arr = array(
	array('id' => 1, 'name' => 'Winnie', 'age' => 18, 'sex' => 0),
	array('id' => 2, 'name' => 'Ritabear', 'age' => 20, 'sex' => 0),
	array('id' => 3, 'name' => 'Bear', 'age' => 18, 'sex' => 1),

);
//var_dump($arr);


echo '<table border="1" align="center" width="800">';
echo '<caption><h2>管理表</h2></caption>';
echo '<tr>';
echo '<th>编号</th>';
echo '<th>姓名</th>';
echo '<th>年龄</th>';
echo '<th>性别</th>';
echo '</tr>';
$len = count($arr);
for ($i = 0; $i < $len; $i++) {
	$bgcolor = $i % 2 == 1 ? '#ddd' : '';
	echo '<tr bgcolor="' . $bgcolor . '" align="center">';
	echo '<td>' . $arr[$i]['id'] . '</td>';
	echo '<td>' . $arr[$i]['name'] . '</td>';
	echo '<td>' . $arr[$i]['age'] . '</td>';
	switch ($arr[$i]['sex']) {
		case 0:
			echo '<td>女</td>';
			break;
		case 1:
			echo '<td>男</td>';
			break;
	}

	echo '</tr>';
}
echo '</table>';

Day11 Winnie的聊天室

今天简单介绍一下array,是每个程序语言都一定有的单元,对於array的使用来说其实可以弄得很复杂,到现在为止其实还没有介绍到函数,等到介绍到的时候,真的觉得学海无涯,很令人感到刺激兴奋(?XDDD
不过函数真的是有要用到功能再去找,如果没有就要自己写wwww


<<:  【Day 26】JavaScript AJAX - XMLHttpRequest

>>:  30-11 之Domain Layer - Transaction Script

Debian10安装iRedMail v1.2.1详细教程

iRedMail简介 iRedMail是基于开源的postfix、dovecot、openldap...

视觉设计(4)

渐层背景 背景(background)除了可以用图片、单色填满之外,也可以设定为渐层。其属性值为li...

结语 - 相关的展望

感想 第三十天,来点结语好了,非常感谢 IT 邦帮忙这举办的铁人活动,尤其是平常上班,没有特别的动力...

Day24 Let's ODOO: Discuss

Odoo在安装时内部就提供Discuss内容,透过创立群组,并以标记的形式我们可以更明确的沟通与合作...

OAuth 2.0

Golang OAuth 2.0 在一开始的开赛目标就是希望可以完成golang + OAuth 2...