设为首页 加入收藏

TOP

PHP-----PHP程序设计基础教程----第四章数组(二)
2019-08-23 00:40:52 】 浏览:103
Tags:PHP-----PHP 程序设计 基础 教程 ---- 第四章数

  数组这种符合类型的数据可以进行运算,数组的运算通过数组操作数实现。见表4-1:

  表4-1 数组操作运算符

运算符

含义

示例

+

联合

$a+$b$a$b的联合

==

相等

$a==$b;如果$a$b具有相同的键值对,则为true

===

全等

$a===$b;如果$a$b具有相同的键值对且顺序和类型都相同则为true

!=

不等

$a!=$b;如果$a不等于$b,则为true

<>

不等

$a<>$b;如果$a不等于$b,则为true

!==

不全等

$a!===$b;如果$a不全等于$b,则为true

   注:”+“为联合运算符,用于合并数组。如果出现下标相同的元素,则保留第一个数组内的元素。

 

4.2 数组的常见操作

4.2.1 数组指针

  对数组中的元素进行访问过程中需要用到数组指针。数组指针用于指向数组中的某个元素,默认情况下指向数组的第一个元素。注意:一个数组只有一个数组指针。具体数组指针见表4-2:

表4-2 数组指针操作函数

函数名

作用

mixd current(array $array)

获取数组中当前元素的值,如果内部指针超出数组的末端,则返回false

mixd key(array $array)

获取当前元素的键名

mixd next(array $array)

将数组的内部指针向前移动一位

mixd prev(array $array)

将数组的内部指针倒回一位

mixd end(array $array)

将数组的内部指针指向最后一个元素

mixd reset(array $array)

重置指针,即将数组的指针指向第一个元素

4.2.2 数组遍历

  在PHP中使用foreach语句实现数组的遍历:

  无键名遍历

foreach(数组名 as $Value){ 
     //循环体 
}

  键值对遍历

foreach(数组名 as $Key => $Value){
     //循环体
}

4.2.3 数组排序----冒泡排序

 

 1 <?php
 2     //********************冒泡排序*******************//
 3     $array=[9,8,2,5,3];
 4     /*从小到大
 5     冒泡排序思路:
 6     1、从第一个元素开始,将相邻的两个元素依次进行比较,直到最后两个元素完成比较。如果前一个元素比后一个元素大,交换位置,整个
 7     过程完成后,数组中最后一个元素就是最大值,这就完成了第一轮比较
 8     2、除了最后一个元素,将剩余的元素进行两两比较,过程与第一步相似,这样就可以将数组中第二大的数放在倒数第二个位置
 9     3、依次类推,持续对元素进行两两比较,直到没有任何一对元素需要比较为止
10     */
11    
12     for($i=0;$i<count($array)-1;$i++){
13           //最外层循环,控制比较的轮数,很明显,冒泡排序比较轮数=数组长度-1
14           for($j=0;$j<count($array)-1-$i;$j++){
15               //里层循环控制相邻的两个数,$j的取值范围要注意,没进行一轮,$j的取值小一次
16               if($array[$j]>$array[$j+1]){
17                   $temp=$array[$j];
18                   $array[$j]=$array[$j+1];
19                   $array[$j+1]=$temp;
20               }
21           }
22    }

 

4.2.4 数组元素查找

   1、顺序查找法----------查找一个数组中是否包含数字8,如果包含,返回当前元素的索引,否则返回“查无此数”;

 1 <?php
 2     //定义数组
 3     $arr=array(2,3,5,8,9);
 4     //定义函数,查找数字8
 5     function searchIndex($Array,$Value){
 6         for($i=0;$i<count($Array);$i++){
 7             if($Array[$i]===$Value){
 8                 return $i ;
 9             }
10         }
11         return "查无此数";
12     }
13     
14     $result=searchIndex($arr,8);
15     echo $result;
16 ?>

  2、二分查找法-----查找一个数组中是否包含元素5,如果存在,则输出下标,否则返回“查无此数”

 1 <?php
 2     //定义数组,
 3     $arr=array(2,3,5,8,9,11,16);
 4     //定义函数
 5     function binarySearch($Array,$Value,$Start_index,$End_index){
 6         if($Start_index > $End_index){
 7             return "查无此数";
 8         }
 9         //获取中间元素下标
10         $Mid_index=round(($Start_index + $End_index)/2);
11         if($Array[$Mid_index] > $Value){//元素在中间元素的左边
12             //从左边查找
13             binarySearch($Array,$Value,$Start_index,$Mid_index-1);
14         }else if($Array[$Mid_index] < $Value){//元素在中间元素右边
15             //从右边查找
16             binarySearch($Array,$Value,$Mid_index+1,$End_index);
17         }else{//查找元素和中间元素值相同
18             echo $Mid_index;
19         }
20     }
21     binarySearch($arr,5,0,count($arr)-1);
22 ?> 

4.3 数组的常用函数

 4.3.1 基本函数

  1、is_array()函数

   is_array()函数的作用是判断一个变量是否是一个数组,如果是数组,返回true,否则返回false。

   bool is_array(mixed $var); 

  is_array()函数接受一个mixed类型的变量var,然后判断这个变量是不是数组。

 

  2、count()函数

  count()函数的作用是用于计算数组中元素的个数。

   int count(mixed $var [,int $mode]); 

  在上述声明中,count()函数接收两个参数,其中$var参数是必须的,表示传入的数组对象;$mode参数是可选参数,值为0或者1。
  $mode=0----->只显示一维数组的个数;
  $mode=1----->递归计算多维数组中每个元素的个数;

  示例如下:

 1 <?php
 2     //一维数组$arr1
 3     $arr1=array("百度","新浪","搜狐","网易","传
首页 上一页 1 2 3 4 5 下一页 尾页 2/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇php禁用函数设置及查看方法详解 下一篇Warning: imagettfbbox(): Could ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目