首页 > 作文

php数组追加元素(php数组最大长度)

更新时间:2023-04-06 00:02:51 阅读: 评论:0

引言

接着我们这个系列的文章说。本文我们聊一聊 php 数组,如何在任意位置插入新元素。因为内置函数并没有提供类似 array_inrt(&$array, $pos, $items) 的函数,所以我们试着动手解决。

学习时间

标准的实现方法,是要用 array_splice,该函数的用法:

array array_splice( array &$input, int $offt[, int $length = 0[, mixed $replacement]] )

把 input 数组中由 offt 和 length 指定的单元去掉,如果提供了 replacement 参数,则用其中的单元取代。

下面是举例说明:

$original = array( 'a', 'b', 'c', 'd', 'e' );$inrted = array( 'x' ); // $inrted 并不必须是数组array_splice( $original, 3, 0, $inrted ); // 在索引 3 位置插入// $original 内容为 a b c x d e

有几个关键点大家需要注意,灵活运用 $offt, $length, $replacement 三个参数,可以组装成强大的功能。

对于偏移位置 $offt:

如果 offt 为正,则从 input 数组中该值指定的带秋的成语偏移量开始移除。如果 offt 为负,则从 input 末尾倒数该值指定的偏移量开始移除。

对于替换的长度 $length:

如果省略 length,则移除数组中从 offt 到结尾的所有部分。如果指定了 length 并且为正值,则移除这么多单元。如果指定了 length并且为负值,则移除从 offt 到数组末尾倒数length 为止中间所有的单元。

在编程中,当给出了replacement 时要移除从 offt 到数组末尾所有单元时,用 count($input) 作为 中秋图片祝福图片大全length。比如像下面这个示例:

$input = array("red", "green", "blue", "yellow");array_splice($input, 1, count($input), "orange");// $input = array("red", "orange")

特别需要注意口腔技术的是 $replacement 参数:

如果给出了 replacement 数组,则被移除的单元被此数组中的单元替代。如果 offt 和 length 的组合结果是不会移除任何值,则 replacement 数组中的单元将被插入到 offt 指定的位置。 注意替换数组中的键名不保留。如果用来替换 replacement 只有一个单元,那么不需要给它加上array(),除非该单元本身就是一个数组、一个对象或者 null

亲手造轮子

上一节的解决方案堪称标准。有些同学还是要忍不住造轮子。“条条大道通罗马”,肯定有不止一种方式实现需求。下面是另外一种方式:

$a = array(1, 2, 3, 4);$b = array_merge(array_slice($a, 0, 2), array(5), array_slice($a, 2));// $b = array(1, 2, 5, 3, 4)

使用 array_slice 函数对原数组切片,一分为二,然后使用 array_merge 拼接3个部分。完美!

上面的代码,在使用 array_merge 后悔丢失原数组的索引关系。如果要保留,使用 + 连接:

$b = array_slice($a, 0, 2) + ar舞蹈艺术学校ray(5) + array_slice($a, 2);

这样就可以了。

换汤不换药,如果给类添加一个方法,或者添加一个助手函数,自然是极好的。下面是封装函数。

function array_inrt(&$array, $value, $index){    return $array = array_merge(array_splice($array, max(0, $index - 1)), array($va复旦大学简介lue), $array);}

写在最后

本文介绍了一个功能丰富的 array_splice 函数,让大家领略了参数的灵活运用所带来的便捷。如果你经常需要这样的操作,麻溜地写到全局助手函数里吧。

happy coding :_)

本文发布于:2023-04-06 00:02:49,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/5093820bee9d83b49de03b583bee941e.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:php数组追加元素(php数组最大长度).doc

本文 PDF 下载地址:php数组追加元素(php数组最大长度).pdf

标签:数组   单元   移除   函数
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图