如何使用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; }  

#T#使用如下:print_r ( array_silice_func ( $array, 5 ) )取出二维数组的5个值,结果如下:Array ( [1] => Array ( [0] => b1 [1] => i1 [2] => u1 [3] => u1 [4] => u1 ) ) 依此类推,取出所需要的数组个数。由于PHP二维数组的使用局限性,这里没有实现从二维数组某个下标开始,取出多少个数组个数的需求,不过这也是值得探讨的地方。以上就关于如何使用PHP从二维数组中取出一段指定值,希望对大家有帮助。

责任编辑:田树 来源: 博客
相关推荐

2009-11-16 17:07:58

PHP二维数组

2009-11-17 16:09:04

PHP二维数组排序

2009-11-17 09:46:31

PHP二维数组赋值

2009-11-25 11:14:12

PHP二维数组赋值

2021-02-20 20:27:44

数组前缀性能

2009-12-18 15:11:05

Ruby输出二维数组

2009-11-24 17:25:00

PHP二维数组排序

2010-07-19 13:06:13

Perl二维数组

2021-01-15 08:19:26

二维数组LeetCode

2009-09-16 17:29:10

Linq查询二维数组

2010-07-13 15:15:49

Perl二维数组

2009-08-07 10:12:09

C#二维数组

2015-11-09 13:03:47

JavaServlet创建二维码

2022-01-19 11:34:01

语言malloc()二维数组

2010-03-05 14:05:02

Python二维数组

2009-09-18 11:33:37

C#二维数组初始化

2009-09-02 10:23:52

C#动态二维数组

2010-07-19 13:17:12

Perl二维数组

2009-08-20 11:38:15

C#二维数组

2015-09-24 09:56:19

.NET二维码
点赞
收藏

51CTO技术栈公众号