如何使用PHP二維數組
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; }
#T#使用如下:print_r ( array_silice_func ( $array, 5 ) )取出二維數組的5個值,結果如下:Array ( [1] => Array ( [0] => b1 [1] => i1 [2] => u1 [3] => u1 [4] => u1 ) ) 依此類推,取出所需要的數組個數。由于PHP二維數組的使用局限性,這里沒有實現從二維數組某個下標開始,取出多少個數組個數的需求,不過這也是值得探討的地方。以上就關于如何使用PHP從二維數組中取出一段指定值,希望對大家有幫助。