【web 开发基础】PHP中使用array()语言结构新建数组(43)

举报
迷彩 发表于 2023/07/10 22:40:00 2023/07/10
【摘要】 前言初始化数组的另一种方式是使用array()语言结构来新建一个数组。它接受一定数量的用逗号隔开的key=>value参数对的方式,这种方法依然跟前面介绍的方法一样简单粗暴,且这种方法更加直观,这也是我们实际开发中最常使用的方式,其语法格式如下代码所示:$arrayName = array(key1=>value1,key2=>value2,key3=>value3,...,keyN=>va...

前言

初始化数组的另一种方式是使用array()语言结构来新建一个数组。它接受一定数量的用逗号隔开的key=>value参数对的方式,这种方法依然跟前面介绍的方法一样简单粗暴,且这种方法更加直观,这也是我们实际开发中最常使用的方式,其语法格式如下代码所示:

$arrayName = array(key1=>value1,key2=>value2,key3=>value3,...,keyN=>valueN,);

使用array()构建数组


如果不使用“=>”符号指定下标,默认为索引数组。默认索引值同样是从0开始依次递增,类似于方括号[]为空的定义方式:

<?php
//索引数组的定义
echo "索引数组:\n";
$arr1[] = 1;
$arr1[] = '张三';
$arr1[] = '五年级1班';
$arr1[] = '11001';

print_r($arr1);
echo "索引数组单个元素访问:\n";
echo "ID".$arr1[0]."\n";
echo "姓名".$arr1[1]."\n";
echo "班级".$arr1[2]."\n";
echo "学号".$arr1[3]."\n";

?>

使用array()结构声明存储学生信息的索引数组$arr1。代码如下所示:

<?php
//索引数组的定义
echo "索引数组:\n";
$arr1 = array(1,'张三','五年级1班','11001');


print_r($arr1);
echo "索引数组单个元素访问:\n";
echo "ID".$arr1[0]."\n";
echo "姓名".$arr1[1]."\n";
echo "班级".$arr1[2]."\n";
echo "学号".$arr1[3]."\n";

?>

执行结果如下图所示:


上面的例子中创建一个名为$arr的数组,其中包含了4个元素,默认的索引是从0开始依次递增的整数。如果使用array()结构在初始化数组时不希望使用默认的索引值,就可以使用‘=>’运算符指定非连续的索引值。和直接使用赋值方式声明数组一样,也可以和指定索引值的元素一起使用。没有使用“=>”运算符指定索引值的元素,默认索引也是紧跟指定索引值元素中的最高的索引值递增。同样如果指定的下标值已经声明过,则属于对变量重新赋值。相关代码如下:

<?php
//索引数组的定义
echo "索引数组:\n";
$arr1 = array(1,18=>'张三','五年级1班',18=>'11001');


print_r($arr1);
echo "索引数组单个元素访问:\n";
echo "ID".$arr1[0]."\n";
echo "姓名".$arr1[1]."\n";
echo "班级".$arr1[2]."\n";
echo "学号".$arr1[3]."\n";

?>

执行结果:

以上代码混合声明的数组$arr1,和前面使用直接赋值方法声明的数组一样,下标和值的打印结果如下:

如果使用array()语言结构声明关联数组,就必须使用‘=>’运算符指定字符串下标。比如声明一个学生信息关联数组$arr1,左右两边使用两种方法声明的数组代码等同:

<?php
//关联数组的定义
echo "关联数组:\n";
$arr1 = array(
	"ID" => 1,
	"姓名" => "张三",
	"班级" => "五年级1班",
	"学号" => "11001",
);

print_r($arr1);

//跟下面的代码是等同的
$arr2['ID'] = 1;
$arr2['姓名'] = '张三';
$arr2['班级'] = '五年级1班';
$arr2['学号'] = '11001';
print_r($arr2);

?>

执行结果如下:


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。