什么是数组

一组数据的集合
PHP的数组是一组有序的变量
每一个变量是一个元素

声明数组

array()函数声明数组

方式:
array array([mixed,…])
其中:mixed的语法为key=>value,分别定义了索引和值
多个参数mixed间用逗号分开
在函数体中仅需给出元素的值
使用的时候,可以直接利用下标

  1. <?php
  2. $array = array("asp","php","jsp");
  3. $array1=array("1"=>"任","2"=>"远","3"=>"洋");
  4. print_r($array);
  5. echo "<br>".$array1[1];
  6. ?>

直接给数组元素赋值

要求同一数组元素中的数组名相同

  1. <?php
  2. $array[1]="任";
  3. $array[2]="远";
  4. $array[3]="洋";
  5. print_r($array);
  6. ?>

数组的类型

索引数组,使用数字作为键
联合数组,使用字符串作为键

数字索引数组

关联数组

关联数组的键名可以是数值和字符串的混合形式
使用字符串索引(或键)访问储存在数组中的值

  1. <?php
  2. $newarray = array("first"=>1,"second"=>2,"third"=>3);
  3. echo $newarray["second"];
  4. $newarray["third"]=8;
  5. echo $newarray["third"];
  6. ?>

输出数组

使用echo、print输出单一元素
print_r()函数将数组结构输出
格式:
bool print_r(mixed expression)
其中:若expression为整型、字符型或实型变量,输出变量本身
数组,按一定键值和元素的顺序显示出该数组中的所有元素

  1. <?php
  2. $erzi=array(1=>"任远洋",2=>"喜欢",3=>"吃屁");
  3. print_r($erzi);
  4. ?>

数组的构造

一维数组

一个数组的元素为变量

二维数组

  1. <?php
  2. $str = array(
  3. "书籍"=>array("文学","历史","地理"),
  4. "体育用品"=>array("m"=>"足球","n"=>"篮球"),
  5. "水果"=>array("橙子",8=>"葡萄","苹果"));
  6. print_r($str);
  7. ?>

遍历数组

使用foreach结构遍历数组

foreach结构并非操作数组本身,而是操作数组的一个备份

  1. <?php
  2. $url = array('编程词典网'=>'www.mrbccd.com',
  3. '编程体验网'=>'www.bcty365.com',
  4. '编程资源网'=>'www.bc110.com',
  5. );
  6. foreach($url as $link)
  7. {
  8. echo $link.'<br>';
  9. }
  10. ?>

使用list()函数遍历数组

把数组中的值赋给一些变量
不是真正的函数,而是语言结构
仅能作用于数字索引的数组,且数字索引从0开始
语法格式:
void list(mixed…)
其中:mixed为被赋值的变量名称

  1. <form name="form 1" method="post">
  2. <table width="323" border="1"cellpadding="1"bordercolor="#66CC33"bgcolor="#FFFFFF">
  3. <tr>
  4. <td width="118"height="24"align="right"bgcolor="#CCFF33">用户名:</td>
  5. <td width="192"height="24"bgcolor="#CCFF33"><input name="user" type="text" class="inputclass"id="user"size="24"></td>
  6. </tr>
  7. <tr>
  8. <td height="24"align="right"bgcolor="#CCFF33">密&nbsp;&nbsp;码:</td>
  9. <td height="24"bgcolor="#CCFF33><input name="pwd"type="password"class="inputcss"id="pwd"size="24"></td>
  10. </tr>
  11. <tr align="center"bgcolor="#CCFF33">
  12. <td height="24"colspan="2"><input name="submit"type="submit"value="登录"></td>
  13. </tr>
  14. </table>
  15. </form>
  16. <?php
  17. while(list($name,$value)=each($_POST))
  18. {
  19. if($name!="submit")
  20. {
  21. echo"$name=$value<br>";
  22. }
  23. }
  24. ?>

字符串与数组的转换

使用explode()函数
implode()函数

使用explode()函数将字符串转换成数组

explode()函数将字符串依照指定的字符串或字符separator切开
格式:
array explode(string separator,string string,[int limit])
其中:如果设置了limit参数,则返回的数组最多包含limit个元素
最后的元素包含字符串剩余部分

  1. <?php
  2. $str ="时装、休闲、职业装";
  3. $strs = explode("、",$str);
  4. print_r($strs);
  5. ?>

结果:Array ( [0] => 时装 [1] => 休闲 [2] => 职业装 )