PHP還是比較常用的,於是我研究了一下PHP二維數組,在這裡拿出來和大家分享一下,希望對大家有用使用PHP從數組中取出一段值可使用PHP內置函數array_slice(),但這個函數只支持一維數組,具體使用可查看PHP手冊,array_slice函數並不支持二維數組,。首先了解一下array_slice函數:
- array array_slice ( array array, int offset [, int length [, bool preserve_keys]] ) array_slice()
返回根據 offset 和 length 參數所指定的 array 數組中的一段序列。
實例:從一維數組中取出一段值
- <?php $arrayarray = array('b','i','u','u','u'); $result = array_slice($array,0,4); print_r($result); ?>
實例從數組$array中取出四個值,起點數組下標0開始,結果如下:從一維數組取出一段值非常簡單,直接使有內置函數array_slice 。PHP二維數組的取值同樣需要使用array_slice 函數,實例二維數組數據如下:
- $arrayarray = array ();
- $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' );
如上二維數組,如果需要取出其中某段,需要知道取段開始與結束在數組中的位置,考慮到應用的特殊性,只從第一個數組開始,在這個二維數組中取出需要的數組個數。方法如下:
- function array_silice_func(array $array, $limit)
- { $k = $count = 0; $temp = array ();
- foreach ( $array as $key => $value )
- { $countcount = count ( $value );
- if ($count + $k >= $limit)
- { $t = array_slice ( $value, 0, $limit - $k );
- $temp [$key] = $t; break; }
- $temp [$key] = $value; $k += $count; } return $temp; }