php中array_slice函數的定義與用法

來源:互聯網
上載者:User
本篇文章主要介紹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 keysprint_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 Smarty 定界符衝突該如何處理

PHP中的for迴圈怎樣嵌套

PHP函數重載分析及執行個體

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.