www.adminn.cn
站长正能量分享网!

php中数值数组、关联数组、多维数组用法

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

在php中用三种数组分别是数值数组,关联数组,多维数组那么它们三种的用法有一点不同,下面我们来看看吧.

数值数组:数值数组存储的每个元素都带有一个数字 ID 键,可以使用不同的方法来创建数值数组.

例子1,在这个例子中,会自动分配 ID 键,代码如下:

$names = array("Peter","Quagmire","Joe");

例子 2,在这个例子中,我们人工分配的 ID 键,代码如下:

  1. $names[0] = "Peter"
  2. $names[1] = "Quagmire"
  3. $names[2] = "Joe";可以在脚本中使用这些 ID 键: 
  4. <?php 
  5. $names[0] = "Peter"
  6. $names[1] = "Quagmire"
  7. $names[2] = "Joe"
  8. echo $names[1] . " and " . $names[2] . " are "$names[0] . "'s neighbors"
  9. ?> 

数组排序

(1)sort(array $array[,int sorttype]) 

array 表示一个数组 

sorttype 取值:SORT_REGULAR – 默认,以它们原来的类型进行处理(不改变类型),SORT_NUMERIC – 把值作为数字来处理,SORT_STRING – 把值作为字符串来处理 ,SORT_LOCALE_STRING – 把值作为字符串来处理,基于本地设置.

(2)bool rsort(array $array[,sorttype])函数,逆向排序(值逆向),sorttype  同上 

(3)bool shuffle()函数,随机排序 

(4)array array_reverse (array $array[,bool preserve_keys])  反向排列,preserve_keys 为true时 保留原来的键名 

(5)array array_merge()合并数组 

(6)array array_slice(array $array,int offset[,int length[,boolpreserve_keys ])

offset非负,这array中的偏移变量从此开始,为负时从末端开始,length为正时,则表示序列中有很多单元,为负时表示从末端开始第几个数处结束,若省略则从offset开始一直到最后,boolpreserve_keys  同上.

数组循环输出,代码如下:

  1. <?php 
  2. $shuzu=array('a'=>"wo",'b'=>"ni",'c'=>"ta",'d'=>"php",'e'=>"mysql"); 
  3. echo "使用foreach函数遍历数组"
  4. echo "<br/>$nbsp;<br/>"
  5. foreach($shuzu as $key=>$value
  6. echo "$key 代表: $value"
  7. echo "<br/>$nbsp;<br/>"
  8. ?> 

关联数组

关联数组,它的每个 ID 键都关联一个值,在存储有关具体命名的值的数据时,使用数值数组不是最好的做法,通过关联数组,我们可以把值作为键,并向它们赋值.

例子1,在本例中,我们使用一个数组把年龄分配给不同的人,代码如下:

$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34); 

例子 2,本例与例子 1 相同,不过展示了另一种创建数组的方法,代码如下:

  1. $ages['Peter'] = "32"
  2. $ages['Quagmire'] = "30"
  3. $ages['Joe'] = "34";可以在脚本中使用 ID 键: 
  4. <?php 
  5. $ages['Peter'] = "32"
  6. $ages['Quagmire'] = "30"
  7. $ages['Joe'] = "34"
  8. echo "Peter is " . $ages['Peter'] . " years old."
  9. ?> 
  10. //以上脚本的输出: 
  11. //Peter is 32 years old. 

关联数组判断为空的代码,然后我们详细讲讲关于数据空的处理,代码如下:

  1. <?php 
  2.     $array = array(0); 
  3.     if(emptyempty($array)){ 
  4.         echo "我空了n"
  5.     }else
  6.         echo "我不空啊n"
  7.     } 
  8.     $array['array']='我是数组'
  9.     print_r($array); 
  10.     $array['array1']='我是数组1'
  11.     print_r($array); 
  12.     unset($array['array1']); 
  13.     print_r($array); 
  14. ?> 

遍历:遍历用户列表的时候,只需直接用 isset 查询那个用户名是否存在即可,PHP 版代码如下:

  1. <?php 
  2. $arrayHash = array(); 
  3. foreach($arrayN as $nameN) { 
  4.    // 本行执行了 N 次。 
  5.    $arrayHash[$nameN] = 1; 
  6. foreach($arrayM as $keyM => $nameM) { 
  7.    if (isset($arrayHash[$nameM])) { 
  8.    // 本行执行了 M 次! 
  9.    unset($arrayM[$keyM]); 
  10.    } 
  11. return $arrayM
  12. ?> 

多维数组:在多维数组中,主数组中的每个元素也是一个数组,在子数组中的每个元素也可以是数组,以此类推.

例子 1,在本例中,我们创建了一个带有自动分配的 ID 键的多维数组,代码如下:

  1. $families = array 
  2.   "Griffin"=>array 
  3.   ( 
  4.   "Peter"
  5.   "Lois"
  6.   "Megan" 
  7.   ), 
  8.   "Quagmire"=>array 
  9.   ( 
  10.   "Glenn" 
  11.   ), 
  12.   "Brown"=>array 
  13.   ( 
  14.   "Cleveland"
  15.   "Loretta"
  16.   "Junior" 
  17.   ) 
  18. ); 
  19. /* 
  20. 如果输出这个数组的话,应该类似这样: 
  21. Array 
  22. ( 
  23. [Griffin] => Array 
  24.   ( 
  25.   [0] => Peter 
  26.   [1] => Lois 
  27.   [2] => Megan 
  28.   ) 
  29. [Quagmire] => Array 
  30.   ( 
  31.   [0] => Glenn 
  32.   ) 
  33. [Brown] => Array 
  34.   ( 
  35.   [0] => Cleveland 
  36.   [1] => Loretta 
  37.   [2] => Junior 
  38.   ) 
  39. )*/ 

例子 2,让我们试着显示上面的数组中的一个单一的值,代码如下:

  1. echo "Is " . $families['Griffin'][2] .  
  2. " a part of the Griffin family?"
  3. //以上代码的输出: 
  4. //Is Megan a part of the Griffin family?  

数组排序,代码如下:

  1. <?php  
  2. $array[] = array("age"=>20,"name"=>"li"); 
  3. $array[] = array("age"=>21,"name"=>"ai"); 
  4. $array[] = array("age"=>20,"name"=>"ci"); 
  5. $array[] = array("age"=>22,"name"=>"di"); 
  6. foreach ($array as $key=>$value){ 
  7.  $age[$key] = $value['age']; 
  8.  $name[$key] = $value['name']; 
  9. array_multisort($age,SORT_NUMERIC,SORT_DESC,$name,SORT_STRING,SORT_ASC,$array); 
  10. print_r($array); 
  11. ?> 

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php中数值数组、关联数组、多维数组用法》
文章链接:https://www.adminn.cn/news/7226.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

本站源码仅供本地环境下学习借鉴研究使用!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏