好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php基础教程-数组操作 - php数组

php基础教程-数组操作

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

如果您有很大的一个数组,而所要完成的仅是找出一个存在的给定值,您可以使用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!" ;  }  ?> 

如果您改变了$lookingFor的值,将其变为[Mary],您将得到消息[You've found it!],因为[Mary]是$namesArray的一部分.

如果希望对数组元素计数,您可以使用count()函数:

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

$count值将为7. 

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

让我们从对已存在数组的末尾增添元素开始,使用函数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<br>" ;  }  ?> 

这将显示:

0 : apple

1 : orange

2 : banana

3 : kiwi

4 : pear

5 : grape

6 : pineapple

7 : tomato

当您需要对数组开头添加元素时,代码非常类似,不同处只是函数名: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<br>" ;  }  ?>  //这将显示:   //0 : grape   //1 : pineapple   //2 : tomato   //3 : apple   //4 : orange   //5 : banana   //6 : kiwi   //7 : pear  

函数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<br>" ;  }  ?>  //这将显示:   //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时.

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

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

下面,从数组末尾删除某值:

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

有很多函数可以帮助您对数组元素排序,但我将会演示基本的排序以帮助您了解其过程:

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

查看更多关于php基础教程-数组操作 - php数组的详细内容...

  阅读:41次