本文目录一览:
- 1、PHP array_splice()这个函数问题!坐等高手``!!
- 2、php中删除数组中的某一些元素
- 3、php数组函数序列之array_splice() - 在数组任意位置插入元素
- 4、PHP中的array_splice()函数到底怎么用啊?
- 5、php 数组 将指定元素移至末尾
- 6、PHP中array_splice()函数对数组元素的添加、修改、删除
PHP array_splice()这个函数问题!坐等高手``!!
你的理解是对的,代码写错罢了。。。
$input1 = array("red", "green", "blue", "yellow");
$input2 = array_splice($input1, 2);
//打印剩下的
print_r($input1);
//打印被移走的
print_r($input2);
因为这个函数的第一个参数是地址引用,返回值是被移走的部份。如果你只是想看剩下的。这样写 就可以了。
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
print_r($input);
===================================================
我把手册的例子加了一个说明。。
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
//从第2个之后开始选,到剩下的全部,选中的移走。
//也就是 "blue", "yellow" 被选中
// $input is now array("red", "green")
array_splice($input, 1, -1);
//从第1个之后开始选,到剩下的全部倒回来一个,选中的移走。
//也就是 "green", "blue",被选中
// $input is now array("red", "yellow")
array_splice($input, 1, count($input), "orange");
//从第1个之后开始选,到剩下的全部,选中的移走,在当前指针位置加一个新值。
//也就是 "green", "blue", "yellow" 被选中
// $input is now array("red", "orange")
array_splice($input, -1, 1, array("black", "maroon"));
//从最后1个之前开始选,往下选1个,选中的移走,在当前指针位置加进一个数组。
//也就是 "yellow" 被选中
// $input is now array("red", "green","blue", "black", "maroon")
array_splice($input, 3, 0, "purple");
//从第3个之后开始选,一个都不选,在当前指针位置插入新值。
//位置就在 "red", "green", "blue" 和 "yellow" 之间
// $input is now array("red", "green", "blue", "purple", "yellow");
php中删除数组中的某一些元素
array_splice函数可以删除数组中的元素(只是该函数的功能之一),array_splice用法如下:
array_splice
—
把数组中的一部分去掉并用其它值取代
array array_splice( array $input, int $offset[, int $length = 0 [, mixed $replacement ]] )把
input
数组中由offset
和
length指定的单元去掉,如果提供了
replacement
参数,则用其中的单元取代。
input:输入的数组。
offset:如果
offset
为正,则从
input数组中该值指定的偏移量开始移除。如果
offset为负,则从
input
末尾倒数该值指定的偏移量开始移除。
length:如果省略
length,则移除数组中从offset到结尾的所有部分。
如果指定了
length并且为正值,则移除这么多单元。
如果指定了
length并且为负值,则移除从
offset
到数组末尾倒数length
为止中间所有的单元。
小窍门:当给出了replacement
时要移除从
offset到数组末尾所有单元时,用count($input)
作为
length。
replacement:如果给出了
replacement
数组,则被移除的单元被此数组中的单元替代。
示例,删除数组$inputArr的第5~10个元素(从0开始数,包括第5个和第10个,共6个元素)
array_splice($inputArr,5,6);
php数组函数序列之array_splice() - 在数组任意位置插入元素
array_splice定义和用法
array_splice()
函数与
array_slice()
函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。
如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。
最后生成的数组将会返回。
语法
array_splice(array,offset,length,array)参数
描述
array
必需。规定数组。
offset
必需。数值。如果
offset
为正,则从输入数组中该值指定的偏移量开始移除。如果
offset
为负,则从输入数组末尾倒数该值指定的偏移量开始移除。
length
可选。数值。如果省略该参数,则移除数组中从
offset
到
结尾的所有部分。如果指定了
length
并且为正值,则移除这么多元素。如果指定了
length
且为负值,则移除从
offset
到数组末尾倒数
length
为止中间所有的元素。
array
被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。
提示和注释
提示:如果函数没有删除任何元素
(length=0),则替代数组将从
start
参数的位置插入。(参见例子
3)
注释:不保留替代数组中的键。
例子
1
复制代码
代码如下:
?php
$a1=array(0="Dog",1="Cat",2="Horse",3="Bird");
$a2=array(0="Tiger",1="Lion");
array_splice($a1,0,2,$a2);
print_r($a1);
?
输出:
Array
(
[0]
=
Tiger
[1]
=
Lion
[2]
=
Horse
[3]
=
Bird
)例子
2
与例子
1
相同,但是输出返回的数组:
复制代码
代码如下:
?php
$a1=array(0="Dog",1="Cat",2="Horse",3="Bird");
$a2=array(0="Tiger",1="Lion");
print_r(array_splice($a1,0,2,$a2));
?
输出:
Array
(
[0]
=
Dog
[1]
=
Cat
)例子
3
length
参数设置为
0:
复制代码
代码如下:
?php
$a1=array(0="Dog",1="Cat");
$a2=array(0="Tiger",1="Lion");
array_splice($a1,1,0,$a2);
print_r($a1);
?
输出:
Array
(
[0]
=
Dog
[1]
=
Tiger
[2]
=
Lion
[3]
=
Cat
)
PHP中的array_splice()函数到底怎么用啊?
简单点说,array_splice() 函数的功能,是把给定数组中从某位置开始的数组元素去掉,返回一个包含有被移除单元的数组。因此,你的疏忽之处在于:
foreach( array_splice($array,2) as $key = $value )
这句代码中的 array_splice($array,2) 的结果是那些 被你移除数组的元素,而不是你意想中 你想保留的数据。
你需要仔细看下 array_splice的函数原型声明:
array array_splice( array $input , int$offset 。。。。。)
注意:$input 这个参数是用地址传递的方式,而不是通常的值传递,所以,调用 array_splice 函数之后,会直接将$input数组的数据进行修改。
综合上面,修改代码如下:
?php
$array = array(1,2,3,4,5);
$array[7] = 7;
$array[] = 8;
$arr = array_splice($array,3);
foreach($array as $key = $value)
{
echo "$key:$valuebr /";
}
?
php 数组 将指定元素移至末尾
可以使用 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 的原始元素。-php里面的array_splice
最后,使用 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 移动到了末尾,并保持了所有其他元素的相对位置不变。
PHP中array_splice()函数对数组元素的添加、修改、删除
array_splice() 函数从数组中可实现对数据中元素的添加、修改、删除操作,方便对数组中的值进行处理。
语法:array_splice(array,start,length,array) ,start是从0开始标记,千万不要忘记。注意添加和修改时参数是4个,删除是3个参。
添加元素:
删除元素:
修改元素: