Heim > Artikel > Backend-Entwicklung > [转]PHP数组
我们学习的时间还不长,但有的会员已经迫不及待的想要实现很多网站功能,呵呵,有这样的要求和愿望很不错,这其实就是我们进步的动力。但是,作为一门编程语言,我们毕竟还是要掌握一些基本的规则,比如数据类型,语法等。好在PHP并不难,这些东西也不多,再学几课我们就可以开始利用它来实现一个一个网站功能了,到时候相信你会越来越有精神了。好,开始今天的课程。
今天我们学习数组,数组是一种数据类型,它的使用频率相当高,学会处理数组会让你做网站时得心应手。举个例子:你的网站数据库里存有大里的文章,现在你想在一个页面上显示20条娱乐新闻的标题,这20条标题从数据库里取出来后你想用20个变量表示吗?我想你不会这么笨吧,那么用什么变量能完全接收这20条数据呢?这就要用到数组变量。
什么是数组呢?数组实际上是一个数据集合,相当于是一个数据容器,很多数据存放在里面,我们可以按一定方法存进去或取出来,还可以对它里面的数据进行排序等各种操作,还可以检查里面有没有我们想要的数据等等。
数组的定义:
可以用 array() 语言结构来新建一个 array(数组)。它接受一定数量用逗号分隔的 key => value 参数对。例如8-1:
[复制到剪贴板]PHP代码:
$arr = array(1 => "新浪", 2 =>"网易", 3 => "腾讯", "雅虎");
?>
数组里面的数据实际上是按一定顺序排列的,每个数据都有一个key对应,这个key(键值)由自己决定,如果你没有给出key,系统会按序列分配一个键值(key)。这里的 "雅虎"我们没有给出键值,但系统会分配给它一个键值4。
既然系统能自动分配键值,可以不可以不写键值呢?当然可以,比如你可以这样写8-2:
[复制到剪贴板]PHP代码:
$arr = array( "新浪", "网易", "腾讯", "雅虎");
?>
这里要注意:系统分配键值(key)是从0开始的,你知道"新浪"的键值是什么吗?
如何访问数组数据:
上面那么多数据我们都用变量$arr表示了,要从中取出我们想要的数据应该怎么做呢?例如取出8-1例中的数据这么做8-3:
[复制到剪贴板]PHP代码:
$arr = array(1 => "新浪", 2 =>"网易", 3 => "腾讯", "雅虎");
echo $arr[1]; //这个会输出“新浪”
echo $arr[2]; //这个会输出“网易”
echo $arr[3]; //这个会输出“腾讯”
echo $arr[4]; //这个会输出“雅虎”
?>
就是用变量名加上中括号内不同的key访问不同的数据。中括号内的key我们也叫它下标。要得到8-2中的“新浪”应该怎么做?对了用$arr[0]。
用字符串作键名:
上面我们讲到的key(键值,键名)都是整数,PHP中规定,作为键名的只有两种:整数(integer)和字符串(string),那么用字符串作键名应该怎么做又如何访问其值呢?例如8-4:
[复制到剪贴板]PHP代码:
$arr = array("a" => "新浪", "b"=>"网易", "c" => "腾讯", "雅虎");
echo $arr['a']; //这个会输出“新浪”
echo $arr['b']; //这个会输出“网易”
echo $arr['c']; //这个会输出“腾讯”
echo $arr[0]; //这个会输出“雅虎”
?>
前面我们讲过,定义字符串要用引号,所以访问数组数据时中括号内的键名一定要用引号。
用方括号的语法新建/修改:
如果我们要添加一个数据或修改一个数据要怎么做呢?你可以通过明示地设定值来改变一个现有的数组。这是通过在方括号内指定键名来给数组赋值实现的。也可以省略键名,在这种情况下给变量名加上一对空的方括号(“[]”)。如8-5:
[复制到剪贴板]PHP代码:
$arr = array("a" => "新浪", "b"=>"网易", "c" => "腾讯", "雅虎");
$arr['a'] = "PHP中文社区";
$arr['e'] = "新浪";
$arr[] = "百度";
echo $arr['a']; //这个会输出“PHP中文社区”
echo $arr['b']; //这个会输出“网易”
echo $arr['c']; //这个会输出“腾讯”
echo $arr['e']; //这个会输出“新浪”
echo $arr[0]; //这个会输出“雅虎”
echo $arr[1]; //这个会输出“百度”
?>
引用地址:http://hi.baidu.com/cnwrol/blog/item/2cbed062599aa8dee6113a4b.html