如何使用PHP二维数组


  本文标签:PHP二维数组

  PHP还是比较常用的,于是我研究了一下PHP二维数组,在这里拿出来和大家分享一下,希望对大家有用使用PHP从数组中取出一段值可使用PHP内置函数array_slice(),但这个函数只支持一维数组,具体使用可查看PHP手册,array_slice函数并不支持二维数组,  。首先了解一下array_slice函数:

  1. array array_slice ( array array, int offset [, int length [, bool preserve_keys]] ) array_slice()  

  返回根据 offset 和 length 参数所指定的 array 数组中的一段序列  。

  实例:从一维数组中取出一段值

  1. php $arrayarray = array(b,i,u,u,u); $result = array_slice($array,0,4); print_r($result); ?>  

  实例从数组$array中取出四个值,起点数组下标0开始,结果如下:从一维数组取出一段值非常简单,直接使有内置函数array_slice   。PHP二维数组的取值同样需要使用array_slice 函数,实例二维数组数据如下:

  1. $arrayarray = array ();   
  2. $array [1] = array (1 => b1, 2 => i1, 3 => u1, 4 => u1, 5 => u1 );
    $array [2] = array (1 =
    > b2, 2 => i2, 3 => u2, 4 => u2, 5 => u2 ); 
    $array [3] = array (1 =
    > b3, 2 => i3, 3 => u3, 4 => u3, 5 => u3 );
    $array [4] = array (1 =
    > b4, 2 => i4, 3 => u4, 4 => u4, 5 => u4 ); 
    $array [5] = array (1 =
    > b5, 2 => i5, 3 => u5, 4 => u5, 5 => u5 ); 
    $array [6] = array (1 =
    > b6, 2 => i6, 3 => u6, 4 => u6, 5 => u6 ); 
    $array [7] = array (1 =
    > b7, 2 => i7, 3 => u7, 4 => u7, 5 => u7 );  

  如上二维数组,如果需要取出其中某段,需要知道取段开始与结束在数组中的位置,考虑到应用的特殊性,只从第一个数组开始,在这个二维数组中取出需要的数组个数  。方法如下:

  1. function array_silice_func(array $array, $limit)   
  2. { $k = $count = 0; $temp = array ();  
  3.  foreach ( $array as $key => $value )   
  4. { $countcount = count ( $value );   
  5. if ($count + $k >= $limit)   
  6. { $t = array_slice ( $value, 0, $limit - $k );   
  7. $temp [$key] = $t; break; }   
  8. $temp [$key] = $value; $k += $count; } return $temp; }  

  

  • APC方法实现PHP上传多个文件原理剖析
  • 新手必看PHP上传文件进度全面揭秘
  • 经验之谈PHP数组函数总结
  • 深入学习PHP数组函数使用方法
使用如下:print_r ( array_silice_func ( $array, 5 ) )取出二维数组的5个值,结果如下:Array ( [1] => Array ( [0] => b1 [1] => i1 [2] => u1 [3] => u1 [4] => u1 ) ) 依此类推,取出所需要的数组个数  。由于PHP二维数组的使用局限性,这里没有实现从二维数组某个下标开始,取出多少个数组个数的需求,不过这也是值得探讨的地方  。以上就关于如何使用PHP从二维数组中取出一段指定值,希望对大家有帮助  。