PHP数组学习之怎么截取元素片段(两种方式)
时间:2021-08-31
来源:互联网
标签:
今天PHP爱好者给大家带来PHP数组学习之怎么截取元素片段呢?在之前的文章《PHP数组学习之怎么去除任意元素》中,我们介绍了使用array_splice()
函数删除数组的一个或多个元素的方法。这次我们继续PHP数组的学习,介绍一下截取数组,获取部分元素的方法,感兴趣的朋友可以学习了解一下~希望对大家有所帮助。
在之前的学习中,我们了解到截取字符串、获取子串可以使用substr()和mb_substr()。那么如果是截取数组、返回部分数组元素呢?我们要怎么操作?下面给大家介绍两种方法。
方法一:使用array_splice()函数
对的,array_splice()函数!我们知道array_splice()函数可以添加、删除和替换数组元素,怎么又可以截取数组了呢?
那是因为array_splice()函数在删除数组的一部分元素时,会将这些被删除的元素组成为一个新数组,然后返回这个新数组;因此array_splice()函数可以用来截取数组片段。
我们来看下面一个小例子:
<?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);
?>
输出结果为:
OK!使用array_splice($array,$start,$length)
函数我们可以根据数组下标($start
的值),截取指定长度($length
的值)的数组片段。要记住array_splice()函数会改变原数组!
因为array_splice()函数的删除功能在之前的文章中详细叙述过了,这里就不具体介绍了,不懂的可以去看《PHP数组学习之怎么去除任意元素》。接下来我们了解第二种截取数组的方法!
方法二:使用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);
?>
输出结果为:
可以看出,在截取数组操作上,array_slice()函数和array_splice()函数的功能是类似的;但array_slice()函数不会改变原数组!
参数$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);
?>
输出结果为:
参数$preserve
表示是否保留原来的键名,默认值为false,也即不保留;如果设置为 true,将保留原有的键名。
<?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,true);
var_dump($result);
$result = array_slice($arr,1,-1,true);
var_dump($result);
?>
输出结果为:
以上就是PHP数组学习之怎么截取元素片段(两种方式)的详细内容,更多请关注php爱好者其它相关文章!
-
如何注册谷歌账号(谷歌账号注册方法) 怎么跳过手机验证 时间:2025-09-29
-
access数据库8个经典实例 时间:2025-09-29
-
mmc.exe是什么进程 mmc.exe应用程序错误的原因及解决方法 时间:2025-09-29
-
4种基本的编程命名规范介绍(匈牙利命名法、驼峰式命名法、帕斯卡命名法、下划线命名法) 时间:2025-09-29
-
Ghostscript下载、安装教程 Ghostscript命令参数详解 时间:2025-09-29
-
Linux中内存管理NUMA架构详解 时间:2025-09-29
今日更新
-
揭秘网络四大梗:爆笑名场面背后的神转折,一次看懂全网热梗来龙去脉!
阅读:18
-
四大狗贼是什么梗?揭秘网络热词背后的爆笑真相,看完秒懂!
阅读:18
-
四大虐梗是什么梗?揭秘网络最扎心四大名场面,看完泪崩!
阅读:18
-
全境封锁手游需要什么配置-全境封锁手机配置
阅读:18
-
恋与制作人2025中秋节福利情报-登录可获得中秋赠礼
阅读:18
-
燕云十六声跑图长鸣玉获得方法-快速积攒长鸣玉
阅读:18
-
第五人格第四十赛季精华1时装囚徒黎明赋格设计公布
阅读:18
-
元梦之星美团皮肤怎么获取-圆梦美团皮肤获取
阅读:18
-
华夏绘世录中秋活动金秋献瑞明日开启-参与得奖励
阅读:18
-
QQ飞车T车孙悟空有什么特性-孙悟空赛车技能
阅读:18