最新公告
  • 欢迎您光临波比源码,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • php数组操作学习笔记

    小编今天给大家来总结php中数组操作的一些入门学习笔记了,包括了:数据创建,赋值,遍历,查找,统计,多维数组等等在php中数组各种操作,有需要了解的朋友可参考.

    什么是数组?

    数组是一个数据的集合,相当于一个容器,可以将数据按一定的规则存到这个容器中.相当于旅馆,旅馆内有很多房间,而房间按照一定的规则编号.

    数组的构成:基本结构形式如下:

    $数组名 (键)= 值 数组名:是一个数组区别于另一个数组的方式,就像每个旅馆都有一个名字.

    键(key):也成为指针、索引或者标识符.键代表某值在数组中存放的位置,相当于旅馆的门牌号,可以用不同方式命名.通过查询键可以找到相应的值.

    值(value):值相当于房间内存放的东西.

    赋值创建数组

    在php中,创建数组有变量赋值和调用函数两种方法,这里先讲前者.使用变量赋值方法很简单,直接给一个数组变量赋值即可.

    实例代码如下:

    1. <!–?php  
    2.  $lang[]="php"
    3.  $lang[]="html"
    4.  $lang[]="css"
    5.  echo "$lang[0] 
      "
      ;  
    6.  echo "$lang[1] 
      "
      ;  
    7.  echo "$lang[2] 
      "
      ;  
    8. ?> 

    三个赋值语句产生的数组内容:

    0=>php

    1=>html

    2=>css

    创建数组

    除了上面介绍的赋值创建数组,还有调用函数的方法创建数组.php提供了array函数来穿件一个数组,基本结构形式如下:

    array (item1,item2… ,itemn)

    /* item表示数组中的元素值.array()函数创建数组时自动给元素值分配标识符,从0依次增加 */ 

    实例代码如下:

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

    数组键名

    1、键名分配

    在用array()函数创建数组时,键名会自动分配到各个值.另外,我们也可以按自己的需要直接给元素分配键名.

    基本结构形式:

    array ( key => item )

    实例代码如下:

    1. <!–?php  
    2.  $a=array(1 => "you",2 =>"are ", 5 =>"how "); 
    3.  echo $a[5]; 
    4.  echo $a[2]; 
    5.  echo $a[1]; 
    6. ?> 

    2、用字符串作键名

    不但可以用整数作为键名,也可以使用字符串作为键名.使用字符串作为键名的数组成为字符串索引(string-indexed)数组.

    实例代码如下:

    1. <!–?php  
    2.  $a=array("php"=>"动态网页","html"=>"静态网页","css"=>"网页排版"); 
    3.  echo $a["php"] ."
      "
    4.  echo $a["html"] ."
      "
    5.  echo $a["css"]; 
    6. ?>  

    3、键名的修改

    实例代码如下:

    1. <!–?php         
    2.  $arr = array("a" => "新浪",    
    3.    "b"=>"网易",     
    4.    "c" => "腾讯""雅虎"   
    5.   ); 
    6.   $arr[a] = "PHP中文社区";   
    7.   $arr['e'] = "新浪";    
    8.   $arr[] = "百度";     
    9.  echo $arr['a'] ."
      "
      ;    
    10.  echo $arr['b'] ."
      "
      ;    
    11.  echo $arr['c'] ."
      "
      ;    
    12.  echo $arr['e'] ."
      "
      ;    
    13.  echo $arr[0] ."
      "
      ;     
    14.  echo $arr[1] ."
      "
      ;     
    15. ?> 

    创建多维数组

    php程序编写时,一维数组有时不能满足需求,这时就要用到多维数组.多维数组就是在一维数组的基础上再增加一个或多个细下标,用法与一维数组大致相同,只是多维数据操作更为复杂,不过功能更强大.

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

    实例代码如下:

    1. <!–?php  
    2.  $a[0][0]=1; 
    3.  $a[0][1]=2; 
    4.  $a[0][2]=3; 
    5.  $a[1][0]=4; 
    6.  $a[1][1]=5; 
    7.  $a[1][2]=6; 
    8.  for($i=0;$i<=1;$i++){ 
    9.   for($j=0;$j<=2;$j++){ 
    10.    echo "$a[$i][$j]=" .$a[$i][$j] ."
      "
      /* "$"表示输出变量符号$ */ 
    11.   } 
    12.  } 
    13. ?> 

    输出数组

    输出数组是指将数组的的所有元素数据显示在浏览器上,php怎么输出数组?常用的php输出数组函数有var_dump()和print_r()函数.

    1、var_dump函数递归展开数组元素,显示数组各元素的类型、键名和元素值.

    实例代码如下:

    1. <!–?php  
    2.  $a=array(0,5,array("php","html","css")); /* 创建一个嵌套的数组 */ 
    3.  var_dump($a); 
    4. ?>  

    2、print_r函数值显示数组元素的键名和元素值.

    实例代码如下:

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

    测试数组

    有时候我们不清楚某个变量是不是数组,可以用is_array()函数来测试判断.

    基本结构形式:

    is_array ( 变 量 )

    检测变量是否数组,如果是则返回true,否则返回false.

    实例代码如下:

    1. <!–?php  
    2.  $a="apple iphone"
    3.  if(is_array($a)){ 
    4.    var_dump($a); 
    5.   } 
    6.  else echo "不是数组"
    7. ?> 

    foreach遍历数组

    我们在运用数组时,常常要遍历数组并获得各个键或者元素值,php提供了一些专门遍历数组的函数.这里先介绍foreach遍历数组函数的用法.

    结构形式实例代码如下:

    1. foreach ( array_expression as $value ) statement 
    2.  
    3. /* array_expression是要遍历的数组 
    4.  as作用是将数组的值赋给$value 
    5. statement是后续语句 
    6.  */  

    实例1:

    1. <!–?php  
    2. $color=array('white' => '白色' , 
    3.       'black' => '黑色' , 
    4.       'red' => '红色' , 
    5.       'green' => '绿色'
    6.       'yellow' => '黄色'); 
    7. foreach$color as $cecho $c ."
      "
      ;     

    通过foreach不仅可以获得元素的值也可以获得键名,结构形式:

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

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

    实例代码如下:

    1. foreach$color as $cecho $c ."
      "
      ;  
    2. 改为: 
    3.  
    4.  foreach$color as $key => $cecho $key.$c ."
      "

    查找数组元素值

    php获取数组键名可以用array_search()来实现,结构形式如下:

    array_search( $needle,$haystack )

    /* 参数$needle表示要查找的值 */

    /* $haystack表示查找对象 */ 

    array_search()函数返回的是键名,而不是布尔值,找不到时返回false.找到的元素如果正好是第一个元素,则返回0.而php会自动转化成false,所以需要使用”===”判断返回值.(“===”判断是否全等,详:php关系运算符)

    实例代码如下:

    1. <!–?php  
    2.  $s=array("a","b","c","d","e","f"); 
    3.  $i=array_search("a",$s); /* 查找数组是否有字符"a" */ 
    4.  if($i===false)  /* 判断查找结果 */ 
    5.   echo "在数组s中找不到字符'a'"
    6.  else echo "输出数组$s的键名:" .$i/* 输出键名 */  
    7. ?> 

    计算数组元素个数

    数组也像变量一样可以进行运算,例如需要php统计数组元素个数时,我们可以利用count()函数来计算数组中元素的个数.

    结构形式实例代码如下:

    1. count ( $var,$mode ) 
    2. /* $var参数$var通常是一个数组,函数返回var中的单元数目 */ 
    3. /* mode是可选参数 */  

    实例:

    1. <!–?php  
    2.  $a=array("peple","man","women"); 
    3.  $b=count($a); /* 统计数组元素个数 */ 
    4.  echo $b
    5. ?> 

    数组排序

    php提供了一系列的数组排序函数,我们可以根据需要对数组进行排序.数组的排序主要有三种方式:

    按键值排序

    即按标识符ASCⅡ码值的大小排列顺序.

    ksort(): 按照数组标识符顺序排列

    krsort(): 按照数组标识符逆序排 

    实例代码如下:

    1. <!–?php  
    2.  $languages=array
    3.   'c'=>'php'
    4.   'd'=>'asp'
    5.   'a'=>'jsp'
    6.   'b'=>'java' 
    7.  ); 
    8.  krsort($languages); 
    9.  foreach($languages as $key=>$val){ 
    10.   echo "$key = $val".'
      '
    11.  }; 
    12. ?>  

    按元素值排序

    asort(): 按照由小到大的顺序对数组排序;

    rsort(): 按照由大到小的顺序对数组逆序排序. 

    将实例1的8-11行代码改为:

    例代码如下:

    1. asort($languages); 
    2.  print_r($languages); 
    3.  echo "
      "
    4.  rsort($languages); 
    5.  print_r($languages);  

    删除原有键名排序

    sort(): 按照由小到大的顺序对数组排序;

    rsort(): 按照由大到小的顺序对数组逆序排序. 

    将实例2的8-11行代码改为:

    实例代码如下:

    1. sort($languages); 
    2.  foreach($languages as $key=>$val){ 
    3.   echo "languages[$key] = $val".'
      '
    4.  }; 

    数组运算符

    合并数组计算实例代码如下:

    1. <!–?php  
    2.  $a=array
    3.    'a'=>'php'
    4.    'b'=>'html'
    5.    'c'=>'css' 
    6.  ); 
    7.  $b=array
    8.    'a'=>'asp'
    9.    'b'=>'jsp' 
    10.  ); 
    11.  $c=$a+$b/* 合并数组 */ 
    12.  var_dump($c); 
    13.  echo "
      "
    14.  $c=$b+$a/* 调换顺序合并数组 */ 
    15.  var_dump($c);  
    16. ?>  

    数组的比较实例,实例代码如下:

    1. <!–?php  
    2.  $a=array('php','asp'); 
    3.  $b=array(1=>'asp',0=>'php'); 
    4.  var_dump($a==$b); 
    5.  var_dump($a===$b); 
    6. ?>  

    数组运算符

    例子 名称 结果

    $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.

    波比源码 – 精品源码模版分享 | www.bobi11.com
    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

    波比源码 » php数组操作学习笔记

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    波比源码
    一个高级程序员模板开发平台
    升级波友尊享更多特权立即升级