php数组操作学习笔记,php遍历数组的4种方法总结

作者: 关于计算机  发布:2019-09-26

怎么样是数组?

在php中得以用来遍历数组的函数有成都百货上千,如有:for语句、list、each、foreach那七个函数,那也是在php中遍历数组的多少个至关心珍视要的函数,下边小编来给我们介绍。

数组是二个数据的集结,约等于多个器皿,能够将数据按一定的平整存到这一个容器中。也正是饭店,旅舍内有好多房间,而房间遵照一定的法规编号。

foreach遍历数组

数组的三结合:基本结构方式如下:

我们在应用数组时,平常要遍历数组并拿走各样键或然元素值,php提供了有些特意遍历数组的函数。这里先介绍foreach遍历数组函数的用法。

$数组名 (键)= 值 数组名:是二个数组分化于另四个数组的办法,如同每一种酒馆都有三个名字。
键(key):也改成指针、索引或许标记符。键表示某值在数组中存放的义务,也便是旅馆的门牌号,能够用差异措施命名。通过查询键能够找到相应的值。
值(value):值也等于房间内存放的东西。

协会情势:

赋值创造数组

复制代码 代码如下:

在php中,创立数组有变量赋值和调用函数三种艺术,这里先讲前面多少个。

foreach ( array_expression as $value ) statement
/* array_expression是要遍历的数组
   as效能是将数组的值赋给$value
   statement是承袭语句
*/

选拔变量赋值方法很简单,直接给二个数组变量赋值就可以。

实例1:

实例:

复制代码 代码如下:

 代码如下

 '白色' ,
  'black' => '黑色' ,
  'red' => '红色' ,
  'green' => '绿色',
  'yellow' => '黄色');
 foreach( $color as $c) echo $c ."
";   
?>

<?php
 $lang[]="php";
 $lang[]="html";
 $lang[]="css";
 echo "$lang[0] <br>";
 echo "$lang[1] <br>";
 echo "$lang[2] <br>";
?>

透过foreach不只能够拿走成分的值也得以拿走键名,结构情势:

多少个赋值语句发生的数组内容:

复制代码 代码如下:

0=>php

foreach ( array_expression as $key => $value ) statement

1=>html

将上述实例中第7行的代码:

2=>css

复制代码 代码如下:

成立数组

foreach( $color as $c) echo $c ."<br>";

除开上边介绍的赋值创造数组,还也有调用函数的方法创造数组。

改为:

php提供了array函数来穿件二个数组,基本协会方式如下:

复制代码 代码如下:

array (item1,item2... ,itemn)

foreach( $color as $key => $c) echo $key.$c ."<br>";

/* item表示数组中的成分值。array()函数创立数组时自动给元素值分配标记符,从0依次扩充 */
实例:

each遍历数组

 代码如下

遍历数组是php数组操作八个尤为重要的环节,除了前方提到的foreach函数,这里再介绍三个遍历数组的函数-each()。

<?php
 $student=array("Tom","Jacky","Rose");
 echo $student[0] ."t";
 echo $student[1] ."t";
 echo $student[2];
?>

用each()函数能够出口当前线指挥部针地点的键名和相应的成分值。能够动用”0″或”key”来访谈键名(标志符),用”1″或”value”访谈标志符对应的值。

数组键名

实例:

1、键名分配

复制代码 代码如下:

在用array()函数成立数组时,键名会自动分配到各样值。其余,大家也得以按本身的内需平素给成分分配键名。

<?php
 $languages=array(1=-->"php",
  5=>"html",
  10=>"css");
 $a=each($languages); /* 第二回遍历数组 */ 
 echo $a[0] ."t";
 echo $a[1] ."<br>";
 $a=each($languages); /* 第一遍遍历数组 */
 echo $a[key] ."t";
 echo $a[value];   
?>

骨干结构方式:

list遍历数组

array ( key => item )

函数list能够在遍历数组时三遍赋给变量,平时和each()函数协作使用。用list()函数使访谈each()重临的键和值变得更其简便易行了。

实例1:

实例:

 代码如下

复制代码 代码如下:

 <?php
 $a=array(1 => "you",2 =>"are ", 5 =>"how ");
 echo $a[5];
 echo $a[2];
 echo $a[1];
?>

<?php
 $date=array(1=-->"Monday",
  2=>"Tuesday",
  3=>"Wednesday");
 list($key,$value)=each($date); /* 遍历函数 */
 echo "$key $value" ."<br>"; /* 输出第八个数组 */
 $next=next($date);  /* 指针后移 */
 echo "$next"; 
?>

2、用字符串作键名

ps:list()函数刚好与array()函数相反,array()将一层层数据构产生数组,而list()则将数组拆分成数据。

不仅可以够用整数作为键名,也得以动用字符串作为键名。使用字符串作为键名的数组成为字符串索引(string-indexed)数组。

for遍历数组

实例2:

除了这么些之外php预约义的片段遍历数组函数,我们还足以行使for语句的循环特性将数组遍历输出。下边给出例子:

 代码如下

复制代码 代码如下:

<?php
 $a=array("php"=>"动态网页","html"=>"静态网页","css"=>"网页排版");
 echo $a["php"] ."<br>";
 echo $a["html"] ."<br>";
 echo $a["css"];
?>

<?php
 $a[]="张学友"; /* 定义数组 */
 $a[]="刘德华";
 $a[]="黎明";
 $a[]="郭富城";
 $s=count($a); /* 总计数组个数 */
 for($i=0;$i<$s;$i++){ /* 遍历数组 */
  echo $a[$i] ."<br /-->"; /* 显示数组 */
 }
?>

3、键名的修改

您大概感兴趣的稿子:

  • 推断php数组是还是不是为索引数组的兑现格局
  • PHP遍历数组的二种格局
  • PHP遍历数组的艺术汇总
  • PHP复位数组为连日来数字索引的三种方法计算

实例3:

 代码如下

<?php        
 $arr = array("a" => "新浪",   
   "b"=>"网易",    
   "c" => "腾讯", "雅虎"  
  );
  $arr[a] = "PHP汉语社区";  
  $arr['e'] = "新浪";   
  $arr[] = "百度";    
 echo $arr['a'] ."<br>";   
 echo $arr['b'] ."<br>";   
 echo $arr['c'] ."<br>";   
 echo $arr['e'] ."<br>";   
 echo $arr[0] ."<br>";    
 echo $arr[1] ."<br>";    
?>

始建多维数组

在php程序编写制定期,一维数组偶尔不能满足急需,这时将在用到多维数组。多维数组就是在一维数组的底蕴上再扩展二个或多少个细下标,用法与一维数组大概一样,只是多维数据操作更为复杂,但是成效更壮大。

以二维数组为例,就像大房屋里面套有小房屋,表示方法为$a[0][0]。

实例:

 代码如下

<?php
 $a[0][0]=1;
 $a[0][1]=2;
 $a[0][2]=3;
 $a[1][0]=4;
 $a[1][1]=5;
 $a[1][2]=6;
 for($i=0;$i<=1;$i++){
  for($j=0;$j<=2;$j++){
   echo "$a[$i][$j]=" .$a[$i][$j] ."<br>"; /* "$"表示输出变量符号$ */
  }
 }
?>

输出数组

输出数组是指将数组的的富有因素数据体未来浏览器上,php怎么输出数组?常用的php输出数组函数有var_dump()和print_r()函数。

1、var_dump函数递归张开数组成分,展现数组各因素的门类、键名和成分值。

实例1:

 代码如下

<?php
 $a=array(0,5,array("php","html","css")); /* 创设二个嵌套的数组 */
 var_dump($a);
?>

2、print_r函数值呈现数组成分的键名和成分值。

实例2:

 代码如下

<?php
 $b=array(1,2,3);
 print_r($b);
?>

测量检验数组

神迹大家不晓得某些变量是否数组,能够用is_array()函数来测量试验判别。

宗旨结构模式:

is_array ( 变 量 )

检查实验变量是不是数组,假诺是则赶回true,不然再次回到false。

实例:

 代码如下

<?php
 $a="apple iphone";
 if(is_array($a)){
   var_dump($a);
  }
 else echo "不是数组";
?>

foreach遍历数组

作者们在选拔数组时,平常要遍历数组并获得各样键可能成分值,php提供了一些专程遍历数组的函数。这里先介绍foreach遍历数组函数的用法。

布局格局:

 代码如下

 foreach ( array_expression as $value ) statement
/* array_expression是要遍历的数组
   as效率是将数组的值赋给$value
   statement是持续语句
 */
实例1:

 <?php
 $color=array('white' => '白色' ,
       'black' => '黑色' ,
       'red' => '红色' ,
       'green' => '绿色',
       'yellow' => '黄色');
 foreach( $color as $c) echo $c ."<br>";   
?>

透过foreach不只可以够博得成分的值也得以博得键名,结构方式:

  foreach ( array_expression as $key => $value ) statement

将以上实例中第7行的代码:

 

 代码如下

 foreach( $color as $c) echo $c ."<br>";
改为:

 foreach( $color as $key => $c) echo $key.$c ."<br>";

追寻数组成分值

php获取数组键名能够用array_search()来完成,结构情势如下:

array_search( $needle,$haystack )
/* 参数$needle代表要搜索的值 */
/* $haystack代表查找对象 */
array_search()函数重回的是键名,实际不是布尔值,找不到时回来false。找到的成分倘使恰巧是首先个因素,则重临0。而php会自动转化成false,所以要求采纳”===”判定重回值。(“===”剖断是或不是全等,详:php关系运算符)

实例:

 代码如下

<?php
 $s=array("a","b","c","d","e","f");
 $i=array_search("a",$s); /* 查找数组是或不是有字符"a" */
 if($i===false)  /* 判定查找结果 */
  echo "在数组s中找不到字符'a'";
 else echo "输出数组$s的键名:" .$i; /* 输出键名 */ 
?>

总计数组成分个数

数组也像变量同样能够举行演算,比方必要php总计数组成分个数时,大家得以应用count()函数来总结数组凉月素的个数。

布局情势:

 代码如下

 count ( $var,$mode )
/* $var参数$var平日是三个数组,函数重返var中的单元数目 */
/* mode是可选参数 */
实例:

<?php
 $a=array("peple","man","women");
 $b=count($a); /* 计算数组成分个数 */
 echo $b;
?>

数组排序

php提供了一雨后苦笋的数组排序函数,大家可以根据要求对数组进行排序。数组的排序首要有三种格局:

按键值排序

即按标志符ASCⅡ码值的分寸排列顺序。

ksort(): 根据数组标记符顺序排列
krsort(): 根据数组标识符逆序排
实例1:

 代码如下

<?php
 $languages=array(
  'c'=>'php',
  'd'=>'asp',
  'a'=>'jsp',
  'b'=>'java'
 );
 krsort($languages);
 foreach($languages as $key=>$val){
  echo "$key = $val".'<br>';
 };
?>

按成分值排序

 asort(): 依照由小到大的顺序对数组排序;
rsort(): 依照由大到小的各类对数组逆序排序。
将实例1的8-11行代码改为:

 

 代码如下

  asort($languages);
 print_r($languages);
 echo "<br>";
 rsort($languages);
 print_r($languages);

除去原有键名排序

 sort(): 遵照由小到大的各类对数组排序;
rsort(): 依据由大到小的顺序对数组逆序排序。
将实例2的8-11行代码改为:

 

 代码如下

sort($languages);
 foreach($languages as $key=>$val){
  echo "languages[$key] = $val".'<br>';
 };

 

数组运算符

统一数组总计实例:

 代码如下

<?php
 $a=array(
   'a'=>'php',
   'b'=>'html',
   'c'=>'css'
 );
 $b=array(
   'a'=>'asp',
   'b'=>'jsp'
 );
 $c=$a+$b; /* 合併数组 */
 var_dump($c);
 echo "<br>";
 $c=$b+$a; /* 沟通顺序合併数组 */
 var_dump($c); 
?>

数组的比较实例:

 代码如下

<?php
 $a=array('php','asp');
 $b=array(1=>'asp',0=>'php');
 var_dump($a==$b);
 var_dump($a===$b);
?>

数组运算符
例子 名称 结果
$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

本文由贝博体育app发布于关于计算机,转载请注明出处:php数组操作学习笔记,php遍历数组的4种方法总结

关键词:

上一篇:Laravel学习教程之request
下一篇:没有了