php 数组 将指定元素移至末尾

php 数组 将指定元素移至末尾,第1张

可以使用 PHP 的 array_push() 和 array_splice() 函数来实现将指定元素(0)移动到数组的末尾。以下是示例代码:

Copy code

$arr = array(0, 3, 5, 0, 0, 7, 1, 9, 0, 8)

foreach ($arr as $key =>$val) {

if ($val === 0) {

array_push($arr, 0)

array_splice($arr, $key, 1)

}

}

print_r($arr)

在本示例中,通过 foreach 循环遍历数组 $arr,并通过 if 语句检查每个元素是否为 0。如果 $val 元素为 0,则使用 array_push() 函数将一个 0 添加到数组的末尾,再使用 array_splice() 函数移除这个 0 的原始元素。

最后,使用 print_r() 函数打印数组 $arr 的新值。运行上述代码,输出为:

Copy code

Array

(

[0] =>3

[1] =>5

[2] =>7

[3] =>1

[4] =>9

[5] =>8

[6] =>0

[7] =>0

[8] =>0

[9] =>0

)

可以看到,输出结果数组正确地将原始数组中毕哪昌的所有 0 移动到了末尾,并保持了所有缓州其他元素的相对位置不变。手扒

$arr = array(

    array(1,2,3),

    array("a","b","c")

)

//在数拍樱组尾部添加祥贺租元素

$arr[]=array(11,22,33)

print_r($arr)

这是输出的结果!

Array(  

[0] =>谨兆 Array  

(  

[0] =>1  

[1] =>2  

[2] =>3  

)  

[1] =>Array  

(  

[0] =>a  

[1] =>b  

[2] =>c  

)  

[2] =>Array  

(  

[0] =>11  

[1] =>22  

[2] =>33  

)  

)

用array_slice()函数

array

array_slice

(

array

myarray,

int

offset

[,

int

length]

)

返回myarray数组从地offset开始的length个元素

array_splice与上面的函数类似,只是把返回的部分删除或替代山数

你的问题实现方法(给你写成函数):

<?php

function

array_insert($myarray,$value,$position=0)

{

$fore=($position==0)?array():array_splice($myarray,0,$position)

$fore[]=$value

$ret=array_merge($fore,$myarray)

return

$ret

}

?>前局

此函数用法

返回一个数组,内容是在$myarray数组的$position处插逗悔首入$value

例如:

$a=array("a",

"b","c",

"d")

$a=array_insert($a,"add",3)

print_r($a)

//Array

(

[0]

=>

a

[1]

=>

b

[2]

=>

c

[3]

=>

add

[4]

=>

d

)

【代码我测试过没有问题】


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存