PHP怎么截取元素某個片段

這篇文章主要介紹“PHP怎么截取元素某個片段”,在日常操作中,相信很多人在PHP怎么截取元素某個片段問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP怎么截取元素某個片段”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、梅州網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)電子商務(wù)商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為梅州等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

在之前的學(xué)習(xí)中,我們了解到截取字符串、獲取子串可以使用substr()和mb_substr()。那么如果是截取數(shù)組、返回部分?jǐn)?shù)組元素呢?我們要怎么操作?下面給大家介紹兩種方法。

方法1:使用array_splice()函數(shù)

對的,array_splice()函數(shù)!我們知道array_splice()函數(shù)可以添加、刪除和替換數(shù)組元素,怎么又可以截取數(shù)組了呢?

那是因為array_splice()函數(shù)在刪除數(shù)組的一部分元素時,會將這些被刪除的元素組成為一個新數(shù)組,然后返回這個新數(shù)組;因此array_splice()函數(shù)可以用來截取數(shù)組片段。

我們來看下面一個小例子:

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原數(shù)組:";
var_dump($arr); 

echo "截取的數(shù)組片段:";
$result = array_splice($arr,2);  //截取從下標(biāo)2開始的全部數(shù)組元素
var_dump($result);

$arr = array(10,12,20,25,24);
$result = array_splice($arr,1,2);//截取從下標(biāo)1開始的兩個元素
var_dump($result);

?>

輸出結(jié)果為:

PHP怎么截取元素某個片段

OK!使用array_splice($array,$start,$length)函數(shù)我們可以根據(jù)數(shù)組下標(biāo)($start的值),截取指定長度($length的值)的數(shù)組片段。要記住array_splice()函數(shù)會改變原數(shù)組!

因為array_splice()函數(shù)的刪除功能在之前的文章中詳細(xì)敘述過了,這里就不具體介紹了,不懂的可以去看《PHP數(shù)組學(xué)習(xí)之怎么去除任意元素》。接下來我們了解第二種截取數(shù)組的方法!

方法二:使用array_slice()函數(shù)

array_slice()函數(shù)就是PHP提供的用來截取數(shù)組的一個函數(shù),可以從數(shù)組中提取出一個片段。下面我們來了解一下array_slice()函數(shù):

array_slice($array,$start,$length,$preserve)

該函數(shù)支持2個必需的參數(shù):$array$start,兩個可省略的參數(shù)$length$preserve

參數(shù)$array就不必介紹了吧,參數(shù)$start用于指定開始截取的位置(下標(biāo)),參數(shù)$length表示截取長度(如果省略,則會從指定下標(biāo)開始一直截取到數(shù)組末尾)。

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原數(shù)組:";
var_dump($arr); 

echo "截取的數(shù)組片段:";
$result = array_slice($arr,2); //截取從下標(biāo)2開始的全部數(shù)組元素
var_dump($result);

$result = array_slice($arr,1,2); //截取從下標(biāo)1開始的兩個元素
var_dump($result);

?>

輸出結(jié)果為:

PHP怎么截取元素某個片段

可以看出,在截取數(shù)組操作上,array_slice()函數(shù)和array_splice()函數(shù)的功能是類似的;但array_slice()函數(shù)不會改變原數(shù)組!

參數(shù)$start有3種取值情況:

  • 為0,

  • 為正數(shù),則從前往后截取。

  • 為負(fù)數(shù),則從距離 $array 末端 -start 的位置開始(即按絕對值從數(shù)組右側(cè)開始向左側(cè)定位),從后往前截取。例如 -2 意味著從數(shù)組的倒數(shù)第二個元素開始。

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原數(shù)組:";
var_dump($arr); 

echo "截取的數(shù)組片段:";
$result = array_slice($arr,2);
var_dump($result);

$result = array_slice($arr,-2);
var_dump($result);
?>

輸出結(jié)果為:

PHP怎么截取元素某個片段

參數(shù)$length也有3種取值情況:

  • 如果 length 為正數(shù),那么表示截取的元素個數(shù);

  • 如果 length 為負(fù)數(shù),那么截取的片段將終止在距離數(shù)組末端 length 的位置;

  • 如果省略,那么將從 start 位置開始,一直截取到數(shù)組的末尾。

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原數(shù)組:";
var_dump($arr); 

echo "截取的數(shù)組片段:";
$result = array_slice($arr,1,1);
var_dump($result);

$result = array_slice($arr,1,-1);
var_dump($result);
?>

輸出結(jié)果為:

PHP怎么截取元素某個片段

參數(shù)$preserve表示是否保留原來的鍵名,默認(rèn)值為false,也即不保留;如果設(shè)置為 true,將保留原有的鍵名。

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原數(shù)組:";
var_dump($arr); 

echo "截取的數(shù)組片段:";
$result = array_slice($arr,1,1,true);
var_dump($result);

$result = array_slice($arr,1,-1,true);
var_dump($result);
?>

輸出結(jié)果為:

PHP怎么截取元素某個片段

到此,關(guān)于“PHP怎么截取元素某個片段”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

新聞標(biāo)題:PHP怎么截取元素某個片段
轉(zhuǎn)載來源:http://bm7419.com/article8/pceoop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、App設(shè)計、自適應(yīng)網(wǎng)站、網(wǎng)站策劃動態(tài)網(wǎng)站、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)