首页 >后端开发 >php教程 >PHP数组教程

PHP数组教程

WBOY
WBOY原创
2016-06-23 14:37:44740浏览

定义数组

  PHP数组array是一组有序的变量,其中每个变量被叫做一个元素。

一、定义数组
  可以用 array() 语言结构来新建一个数组。它接受一定数量用逗号分隔的 key => value 参数对。
array( [key =>] value , ... ) // key 可以是 数字 或者 字符串 // value 可以是任何值
例子1:

php 
$phpjc   =   array ( 
0 => ' word ' ,  
3 => ' excel ' ,  
' outlook ' ,  
' access ' ); 
print_r ( $phpjc ); 
?>  

 输出结果如下 :

Array  ( [ 0 ]  =>  word [ 3 ]  =>  excel [ 4 ]  =>  outlook [ 5 ]  =>  access ) 

 

  例子1定义了一个数组,名字叫phpjc,第一个元素的值是:word,(说明:数组是从0开始计数的),第二个元素为空,第三个元素是:excel,后面自动生成第四和第五个元素
  可以通过给变量赋予一个没有参数的array()来创建空数组,然后可以通过使用方括号[]语法来添加值。(注:另外也可用array_push()函数向数组中添加值!!!)  
例子2:

 

php
$phpjc   =   array (); 
$phpjc []  =   " one " ; 
$phpjc []  =   " two " ; 
echo   $phpjc [ 0 ] . "
" ; 
echo   $phpjc [ 1 ]; 
?>

输出结果如下 :

one 
two 


二、读取数组元素
  使用字符串索引(或键)来访问储在数组中的值
  例子3:

php
$phpjc   =   array ( " first " => 1 , " second " => 2 , " third " => 3 ); 
echo   $phpjc [ " second " ]; 
$phpjc [ " third " ] = 5 ;  // 把第三个元素的值由“3”修改为“5” 
echo   $phpjc [ " third " ]; 
?>

 
  PHP中有很多数组相关的函数,一一用实例说明了is_array()、n_array()、count()、array_push()、array_unshift()、array_merge()、array_pop()、array_shift()、sort()

1.is_array()函数

  是否为数组
-----------------------------------------------------------
2.in_array()函数
  如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true 或 false。如下代码将输出“Not found in this array”??因为你将在$namesArray中寻找一个并不存在的“Alber ”。

代码

php
  $namesArray   =   array ( " Joe " ,   " Jane " ,   " Bob " ,   " Mary " ,   " Paul " ,   " Eddie " ,   " John " );
  $lookingFor   =   " Albert " ; 
  if  ( in_array ( $lookingFor ,   $namesArray )) {
    echo   " You've found it! " ;
  }  else  {
    echo   " Not found in this array! " ;
  }
?>

 

-----------------------------------------------------------

3.count()函数
  如果你改变了$lookingFor的值,将其变为“Mary”,你将得到消息“You've found it!”??因为“Mary”是$namesArray的一部分。
如果希望对数组元素计数,你可以使用count()函数:

php
   $namesArray   =   array ( " Joe " ,   " Jane " ,   " Bob " ,   " Mary " ,   " Paul " ,   " Eddie " ,   " John " );
  $count   =   count ( $namesArray ); 
?>

$count值将为7。


-----------------------------------------------------------

4.array_push()函数
  你可以对任何数组添加元素,无论是在已存在数组的开始或末尾。你也可以使用函数以创建一个包含两个或多个数组元素的新数组。合并时每个数组将按需要的顺序排列。如果你的数组已经有内部的排序,你需要对新的合并数组重排序。让我们从对已存在数组的末尾增添元素开始,使用函数array_push():

代码

php
    /*  创建原始数组  */
  $fruitArray   =   array ( " apple " ,   " orange " ,   " banana " ,   " kiwi " ,   " pear " );
  /*  加入到原始数组中  */
  array_push ( $fruitArray ,   " grape " ,   " pineapple " ,   " tomato " );
  /*  通过其键值列出每个元素 */
  while  ( list ( $key , $value )  =   each ( $fruitArray )) {
    echo   " $key  :  $value
" ;
  }
?>

这将显示:

0   :  apple
1   :  orange
2   :  banana
3   :  kiwi
4   :  pear
5   :  grape
6   :  pineapple
7   :  tomato

 

-----------------------------------------------------------
5.array_unshift()函数
当你需要对数组开头添加元素时,代码非常类似。不同处只是函数名:array_unshift() 而不是array_push()。

代码

php
    /*  创建原始数组  */
  $fruitArray   =   array ( " apple " ,   " orange " ,   " banana " ,   " kiwi " ,   " pear " );
  /*  加入到原始数组中  */
  array_unshift ( $fruitArray ,   " grape " ,   " pineapple " ,   " tomato " );
  /*  通过其键值列出每个元素 */
  while  ( list ( $key , $value )  =   each ( $fruitArray )) {
    echo   " $key  :  $value
" ;
  }
?>

这将显示:

0   :  grape
1   :  pineapple
2   :  tomato
3   :  apple
4   :  orange
5   :  banana
6   :  kiwi
7   :  pear

 

-----------------------------------------------------------
6.array_merge()函数
函数array_merge()合并两个或更多的数组。

代码

php
    /*  创建原始数组  */
  $fruitArray   =   array ( " apple " ,   " orange " ,   " banana " ,   " kiwi " ,   " pear " );
   /*  创建第二个数组  */
  $vegArray   =   array ( " carrot " ,   " green beans " ,   " asparagus " ,   " artichoke " ,   " corn " );
  /*  合并为一个数组  */
  $goodfoodArray   =   array_merge ( $fruitArray ,   $vegArray );
  /*  通过其键值列出每个元素 */
  while  ( list ( $key , $value )  =   each ( $goodfoodArray )) {
    echo   " $key  :  $value
" ;
  }
?>

这将显示:

0   :  apple
1   :  orange
2   :  banana
3   :  kiwi
4   :  pear
5   :  carrot
6   :  green beans
7   :  asparagus
8   :  artichoke
9   :  corn 

现在已经对数组进行了增加元素和合并,现在来练习删除元素函数。你可以使用函数array_pop()从一数组末尾删除一个元素。如果使用函数 array_shift(),则从一数组开头删除一个元素。而实际上当你从数组删除元素时,此元素对你而言仍然可用??当你从已存在的数组中对元素进行 pop 或 shift时。

-----------------------------------------------------------

7.array_pop()函数
使用array_pop()函数从数组末尾删除一个值:

代码

php
  /*  创建一数组 */
  $fruitArray   =   array ( " apple " ,   " orange " ,   " banana " ,   " kiwi " ,   " pear " );
  /*  在末尾弹出某值  */
  $popped   =   array_pop ( $fruitArray );
  /*  列出新数组内容,以及弹出的值 */
  while  ( list ( $key , $value )  =   each ( $fruitArray )) {
    echo   " $key  :  $value
" ;
  }
  echo   "
and finally, in  $popped :  $popped " ;
?>

这将显示:

0   :  apple
1   :  orange
2   :  banana
3   :  kiwi 
and finally ,  in  $popped :  pear 


-----------------------------------------------------------
8.array_shift()函数
下面,从数组末尾删除某值:

代码

php
  /*  创建一数组 */
  $fruitArray   =   array ( " apple " ,   " orange " ,   " banana " ,   " kiwi " ,   " pear " );
  /*  从数组头部移出某值  */
  $shifted   =   array_shift ( $fruitArray );
  /*  列出新数组的内容以及移出的值 */
  while  ( list ( $key , $value )  =   each ( $fruitArray )) {
    echo   " $key  :  $value
" ;
  }
  echo   "
and finally, in  $shifted :  $shifted " ;
?>

这将显示:

0   :  orange
1   :  banana
2   :  kiwi
3   :  pear and finally ,  in  $shifted :  apple

 

-----------------------------------------------------------
9.sort()函数
有很多函数可以帮助你对数组元素排序。但我将会演示基本的排序以帮助你了解其过程:

代码

php

   /*  创建原始数组  */
  $fruitArray   =   array ( " apple " ,   " orange " ,   " banana " ,   " kiwi " ,   " pear " );
  /*  排序  */
  sort ( $fruitArray );
  /*  对其重设以正确从头到尾显示数组  */
  /*  通过其键值列出每个元素 */
  while  ( list ( $key , $value )  =   each ( $fruitArray )) {
    echo   " $key  :  $value
" ;
  }
?>

这将显示:

0   :  apple
1   :  banana
2   :  kiwi
3   :  orange
4   :  pear

 

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn