一步一步学习PHP(8) php 数组_php基础

1. PHP中的数组
与其把PHP中的数组理解为我们狭义上的“数组”,我觉得还不妨把这个数组一分为二,一者为我们常规上的数组,一者为我们的Dictionary。
2. 创建数组
如果数组不存在,那么向数组中存放值将会创建数组。

复制代码 代码如下:

<?php
$address[0]='北京';
$address[1]='上海';
$address[2]='南京';
$introduce['北京']='首都';
$introduce['上海']='国际大都市';
$introduce['南京']='不了解了';
?>

还有一种较为正统的方法,使用array()语言结构,这也是我倾向的一种方式:

复制代码 代码如下:

<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'国际大都市',
'南京'=>'不了解了'
);
?>

当然我们还可以用这样的方式创建一个空数组:

复制代码 代码如下:

<?php
$nullArray=array();
?>

3. 访问数组元素
访问数组元素其实和传统方式一样:

复制代码 代码如下:

<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'国际大都市',
'南京'=>'不了解了'
);
echo($address[1]);
echo($introduce['上海']);
?>

4. 遍历数组元素
遍历数组最常用的方式就是foreach,也比较通用。

复制代码 代码如下:

<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'国际大都市',
'南京'=>'不了解了'
);
foreach($address as $value)
{
echo($value.'<br/>');
}
foreach($introduce as $key=>$value)
{
echo("$key => $value <br/>");
}
?>

foreach遍历数组很容易,但是他有一个缺点,就是他并不是直接操作原数组,而是在遍历前先复制一份原数组的拷贝,这样就造成了时间和空间上的浪费。
那么有个简单的方法,就是for。

复制代码 代码如下:

<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'国际大都市',
'南京'=>'不了解了'
);
for($i=0;$i<count($address);$i++)
{
echo("$address[$i]<br/>");
}
?>

这个虽然简单,但是也有缺点,就是只可以遍历索引数组,没有办法遍历字典。
于是,在PHP中提出了迭代器函数。
其中最常用的就是each()函数。看个简单的例子吧:

复制代码 代码如下:

<?php
$introduce=array('城市名'=>'介绍',
'北京'=>'首都',
'上海'=>'国际大都市',
'南京'=>'不了解了'
);
reset($introduce);
echo('<table>');
while(list($city,$intro)=each($introduce))
{
echo("<tr><td>$city</td><td>$intro</td>");
}
echo('</table>');
?>

 
做个解释,each()函数用于遍历数组元素,类似于我们在常规意义上的迭代器。而且使用迭代函数的最大好处是并不会像foreach语言结构一样产生一个原数组的拷贝,在处理大数组时是很有用的。

时间: 2024-12-05 14:35:07

一步一步学习PHP(8) php 数组_php基础的相关文章

一步一步学习PHP(2)——PHP类型_php基础

1. 关于大小写 PHP内置的函数和结构是不区分大小写的. 如: 复制代码 代码如下: <html> <head> <title>HelloPHP</title> </head> <body> <?php echo("Hello PHP"); ECHO("Hello PHP"); Echo("Hello PHP"); ?> </body> </h

谈谈新手如何学习PHP 默默经典版本_php基础

谈谈新手如何学习PHP^_^ 作者:默默 文章开头就列举了那么多联系方式,难免会让大家感觉有点AD的意味,但是不容质疑的是,默默的确有那么丁点的表现欲^_^,虽然有时候过于细致会被人说婆妈,但是幸好这种细致对于编程来说,还是蛮有益的!    从默默自己向别人问怎么学PHP开始,到后来不少人又来问默默怎么学PHP,不管默默是新手,还是老鸟,似乎总是感觉摸不出一条清晰的脉络来,不过,默默既然学会了PHP,那么我走的这条路或多或少的有一定借鉴性.    PHP的背景恐怕就不用默默赘言了,我相信大家选择

laravel学习教程之关联模型_php基础

Eloquent: 关联模型 简介 数据库中的表经常性的关联其它的表.比如,一个博客文章可以有很多的评论,或者一个订单会关联一个用户.Eloquent 使管理和协作这些关系变的非常的容易,并且支持多种不同类型的关联:     一对一     一对多     多对多     远程一对多     多态关联     多态多对多关联 定义关联 Eloquent 关联可以像定义方法一样在 Eloquent 模型类中进行定义.同时,它就像 Eloquent 模型自身一样也提供了强大的查询生成器.这允许关联模

laravel学习教程之存取器_php基础

前言 Laravel是一个简单优雅的PHP Web开发框架,可以将开发者从意大利面条式的代码中解放出来,通过简单.高雅.表达式语法开发出很棒的Web应用,那下面跟着小编一起来学习laravel中的存取器吧. Eloquent: 存取器简介 访问器和存储器允许你在获取或者设置 Eloquent 模型属性值时对其进行格式化操作.比如,你可能希望当一个值存储进数据库之前先对其进行 Laravel encrypter 进行加密操作,并且可以在你通过模型访问的时候自动的进行该属性的解密. 除了可自定义的的

学习使用PHP数组_php基础

PHP4.0中共有超过30个新的数组相关函数.其中很多通用函数允许你检查给定数组中是否存在特定对象.对数组元素计数.增加或删除元素,或对元素排序. 如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true 或 false.如下代码将输出"Not found in this array"--因为你将在$namesArray中寻找一个并不存在的"Alber ". <? $namesArray = array(&qu

php学习笔记之 函数声明_php基础

复制代码 代码如下: <?php /* 函数定义: * 1.函数是一个被命名的 * 2.独立的代码段 * 3.函数执行特定任务 * 4.并可以给调用它的程序返回一个值 * * 函数的优点: * 1.提高程序的重用性 * 2.提高程序的可维护性 * 3.可以提高开发效率 * 4.提高软件的可靠性 * 5.控制程序的复杂性 * * 函数的声明 * function 函数名(){ * * } * * function 函数名(参数1,参数2,参数...) * { * 函数体 * } * * funct

php学习笔记 [预定义数组(超全局数组)]_php基础

复制代码 代码如下: <?php /* 预定义数组: * 自动全局变量---超全局数组 * * 1.包含了来自WEB服务器,客户端,运行环境和用户输入的数据 * 2.这些数组比较特别 * 3.全局范围内自动生效,都可以直接使用这些数组 * 4.用户不能自定义这些数组,但这些数组的操作方式和自己定义的数组操作的方式一样 * 5.在函数中直接可以使用这些数组 * * $_GET //经由URL请求提交至脚本的变量 * $_POST //经由HTTP POST 方法提交到脚本的变量 * $_REQUE

php学习之变量的使用_php基础

复制代码 代码如下: <?php //引用 $one="test"; two=&$one;//相当于传地址,两个变量指向一个地址 //动态变量 $one="######"; $two="one"; $three="two"; echo $three."<br>";//输出"two" echo $$three."<br>";//输出

PHP5权威编程阅读学习笔记 附电子书下载_php基础

PHP 5 权威编程(PHP 5 Power Programming) PDF下载地址 http://www.jb51.net/books/28207.html  PHP4中,不使用__construct()作为构造函数的名字,必须使用类的名字定义一个方法,就像在C++中一样. PHP5中,使用新的统一的构造函数命名方式:__construct(),当然,使用类名同样也是可以的. 但是,你如果两个同时使用的话,系统默认会使用__construct()的形式. 复制代码 代码如下: <?php c