本文小编为大家详细介绍“php如何获取数组中的几条数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何获取数组中的几条数据”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
两种方法: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
表示截取长度(如果省略,则会从指定下标开始一直截取到数组末尾)。
<?phpheader("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
意味着从数组的倒数第二个元素开始。
<?phpheader("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 位置开始,一直截取到数组的末尾。
<?phpheader("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,将保留原有的键名。
<?phpheader("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);?>
输出结果为:
2、使用array_splice()函数
对的,array_splice()函数!我们知道array_splice()函数可以添加、删除和替换数组元素,怎么又可以截取数组了呢?
那是因为array_splice()函数在删除数组的一部分元素时,会将这些被删除的元素组成为一个新数组,然后返回这个新数组;因此array_splice()函数可以用来截取数组片段。
我们来看下面一个小例子:
<?phpheader("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()函数会改变原数组!
读到这里,这篇“php如何获取数组中的几条数据”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。