這篇文章主要介紹php中array_slice函數的定義與用法,有興趣的朋友參考下,希望對大家有幫助。
先跟大家說下基本語法:
array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )
array_slice() 傳回根據offset 和length 參數所指定的array 陣列中的一段序列。
如果 offset 非負,則序列將從 array 中的此偏移量開始。如果 offset 為負,則序列將從 array 中距離末端這麼遠的地方開始。
如果給出了 length 並且為正,則序列中將具有這麼多的單元。如果給出了 length 並且為負,則序列將終止在距離數組末端這麼遠的地方。如果省略,則序列將從 offset 開始一直到 array 的末端。
注意 array_slice() 預設會重設陣列的鍵。自 PHP 5.0.2 起,可以透過將 preserve_keys 設為 TRUE 來改變此行為。
$input = array("a", "b", "c", "d", "e"); $output = array_slice($input, ); //返回下标开始的数组 returns "c", "d", and "e" $output = array_slice($input, -, ); // returns "d" $output = array_slice($input, , ); // returns "a", "b", and "c" // note the differences in the array keys print_r(array_slice($input, , -)); print_r(array_slice($input, , -, true));
需要傳回隨機幾個資料的話,可以先用shuffle($input);打亂原始數組,再用array_slice取得
##PS:PHP array_slice() 函數
定義和用法array_slice() 函數在陣列中根據條件取出一段值,並傳回。 註解:如果陣列有字串鍵,所傳回的陣列將保留鍵名。 (參見範例4)語法程式碼如下:array_slice(array,offset,length,preserve)
##參數 | 「描述 |
array | |
#offset 必需。數值。規定取出元素的開始位置。 如果是正數,則從前往後開始取,如果是負值,從後向前取 ###offset### # ##絕對值。 ########## | |
length | #可選。數值。規定被傳回數組的長度。 如果 length 為正,則傳回該數量的元素。 如果 length 為負,則序列會終止在距離陣列末端這麼遠的地方。 如果省略,則序列將從 offset 開始直到 array#的最後。 |
#preserve | 可選。可能的值: ·true - 保留鍵 ·false - 預設 - 重設鍵 |
例子 1
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2)); ?>
输出:
代码如下:
Array ( [0] => Cat [1] => Horse )
例子 2
带有负的 offset 参数:
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,-2,1)); ?>
输出:
代码如下:
Array ( [0] => Horse )
例子 3
preserve 参数设置为 true:
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2,true)); ?>
输出:
代码如下:
Array ( [1] => Cat [2] => Horse )
例子 4
带有字符串键:
<?php $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse","d"=>"Bird"); print_r(array_slice($a,1,2)); ?>
输出:
代码如下:
Array ( [b] => Cat [c] => Horse )
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
以上是php中array_slice函數的定義與用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!