兩種方法:1、用array_slice()從指定位置截取指定個數的數據,語法“array_slice(數組,開始位置,個數)”;2、用array_splice()從指定位置開始截取全部數據,語法“array_slice(數組,開始位置)”。
本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦
php獲取數組中一或多條數據的方法
-
使用array_slice()函數
-
使用array_splice()函數
1、使用array_slice()函數
array_slice()函數就是PHP提供的用來截取數組的一個函數,可以從數組中提取出一個片段。下面我們來了解一下array_slice()函數:
array_slice($array,$start,$length,$preserve)
該函數支持2個必需的參數:$array
和$start
,兩個可省略的參數$length
和$preserve
。
參數$array
就不必介紹了吧,參數$start
用于指定開始截取的位置(下標),參數$length
表示截取長度(如果省略,則會從指定下標開始一直截取到數組末尾)。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原數組:"; var_dump($arr); echo "截取的數組片段:"; $result = array_slice($arr,2); //截取從下標2開始的全部數組元素 var_dump($result); $result = array_slice($arr,1,2); //截取從下標1開始的兩個元素 var_dump($result); ?>
輸出結果為:
參數$start
有3種取值情況:
-
為0,
-
為正數,則從前往后截取。
-
為負數,則從距離 $array 末端
-start
的位置開始(即按絕對值從數組右側開始向左側定位),從后往前截取。例如-2
意味著從數組的倒數第二個元素開始。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原數組:"; var_dump($arr); echo "截取的數組片段:"; $result = array_slice($arr,2); var_dump($result); $result = array_slice($arr,-2); var_dump($result); ?>
輸出結果為:
參數$length
也有3種取值情況:
-
如果 length 為正數,那么表示截取的元素個數;
-
如果 length 為負數,那么截取的片段將終止在距離數組末端 length 的位置;
-
如果省略,那么將從 start 位置開始,一直截取到數組的末尾。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原數組:"; var_dump($arr); echo "截取的數組片段:"; $result = array_slice($arr,1,1); var_dump($result); $result = array_slice($arr,1,-1); var_dump($result); ?>
輸出結果為:
2、使用array_splice()函數
array_splice()函數可以在刪除數組的一部分元素時,會將這些被刪除的元素組成為一個新數組,然后返回這個新數組。
使用array_splice($array,$start,$length)
函數可以根據數組下標($start
的值),截取指定長度($length
的值)的數組片段。
我們來看下面一個小例子:
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原數組:"; var_dump($arr); echo "截取的數組片段:"; $result = array_splice($arr,2); //截取從下標2開始的全部數組元素 var_dump($result); $arr = array(10,12,20,25,24); $result = array_splice($arr,1,2);//截取從下標1開始的兩個元素 var_dump($result); ?>
輸出結果為:
注意:array_splice()函數會改變原數組。
推薦學習:《PHP視頻教程》