PHP中array_splice()函数对数组元素的添加、修改、删除

PHP中array_splice()函数对数组元素的添加、修改、删除,第1张

array_splice() 函数从数组中可实现对数据中元素的添加、修改、删除 *** 作,方便对数组中的值进行处理。

语法:array_splice(array,start,length,array) ,start是从0开始标记,千万不要忘记。注意添加和修改时参数是4个,删除是3个参。

添加元素:

删除元素:

修改元素:

1、往数组添加一条数据:array.unshift({})

2、删除数组的某一条数据:array.splice(获取到的下标值,1)

3、修改数组的某一条数据

先删除,后添加

C语言中的数组本质上是在计算机内存中分配的连续空间。

如果需要对元素进行插入和删除,并不能直接将内存中为该数组分配的空间进行插入/新增和删除,而是只能通过数据复制的方式将本来不在这个位置的元素进行移动,看起来像是元素的前移和后移。

举个例子吧:整型数组(1, 2, 3, 4, 5),如果要把2删除,那么可以将3,4,5分别向前移动,变成(1, 3, 4, 5, 5)。由于数组长度分配以后不会变化,因此最后一个多余的5实际上并不能删掉,它只是表示无意义的位置。因此对于编程人员来讲,需要另一个参数来记录这个数组中你认为有用的元素是前多少个。

值得注意的是,如果数组长度不足以保存新的元素时,是无法动态地增加数组长度的。如果非要这么做,必须要在数组分配时保证数组大小足够大。这也就是一些新手经常将数组长度设置为1000,10000的原因。

回到这个问题:

// 预定义的数组,长度为20

int array[20] = {0}

// 数组当前有效长度

int arrayLen = 0

// 如果不是全局数组,则需要将数组指针和数组长度指针传入进行修改

void insertArray(int newElement, int index)

{

    // 这里没有做数组长度的检验,你需要自己完成

    

    int i

    for (i = arrayLen++ i > index )

        array[i--] = array[i - 1]    // 后移

        

    array[index] = newElement

}

void deleteArrayElement(int index)

{

    for (  index < arrayLen )

        array[index++] = array[index + 1]    // 前移。要删除的位置会被直接覆盖

        

    arrayLen--

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11949710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存