首页 » 建站技术 » PHP 技术 » 浏览内容

[PHP中文社区教程] 第八课:PHP数组


2006-12-20 17:27:50 5,443 0 发表评论 字体: 作者:C.K.
标签: php中文社区教程

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

From:http://www.phpnet.cn/bbs/viewthread.php?tid=317&extra=page%3D1

  我们学习的时间还不长,但有的会员已经迫不及待的想要实现很多网站功能,呵呵,有这样的要求和愿望很不错,这其实就是我们进步的动力。但是,作为一门编程语言,我们毕竟还是要掌握一些基本的规则,比如数据类型,语法等。好在PHP并不难,这些东西也不多,再学几课我们就可以开始利用它来实现一个一个网站功能了,到时候相信你会越来越有精神了。好,开始今天的课程。

  今天我们学习数组,数组是一种数据类型,它的使用频率相当高,学会处理数组会让你做网站时得心应手。举个例子:你的网站数据库里存有大里的文章,现在你想在一个页面上显示20条娱乐新闻的标题,这20条标题从数据库里取出来后你想用20个变量表示吗?我想你不会这么笨吧,那么用什么变量能完全接收这20条数据呢?这就要用到数组变量。

  什么是数组呢?数组实际上是一个数据集合,相当于是一个数据容器,很多数据存放在里面,我们可以按一定方法存进去或取出来,还可以对它里面的数据进行排序等各种操作,还可以检查里面有没有我们想要的数据等等。

  数组的定义:

  可以用 array() 语言结构来新建一个 array(数组)。它接受一定数量用逗号分隔的 key => value 参数对。例如8-1:

<?php
  •  
  • $arr = array(1 => "新浪", 2 =>"网易", 3 => "腾讯", "雅虎");
  •  
  • ?>
  •   数组里面的数据实际上是按一定顺序排列的,每个数据都有一个key对应,这个key(键值)由自己决定,如果你没有给出key,系统会按序列分配一个键值(key)。这里的 “雅虎”我们没有给出键值,但系统会分配给它一个键值4。

      既然系统能自动分配键值,可以不可以不写键值呢?当然可以,比如你可以这样写8-2:

    $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];  //这个会输出“百度”
  •  
  • ?>
  • 好了,这课就到这里,如果你还想了解得更多,可以看PHP手册或我们的PHP基础版块。

      网站统计 Statistics

      • 创建时间: 2005年1月3日 距今4921 天
      • 日志总数: 2461
      • 评论总数: 630
      • 标签总数: 654
      • 链接总数: 273
      • 最后更新: 2017-7-1 18:16:33
      • 您是本站第 13646654 位访客

      广告区 Guǎng Gào