PHP array_splice()这个函数问题!坐等高手``!!
<?php$input=array("red","green","blue","yellow");print_r(array_splice($input,2));//Ar...
<?php
$input = array("red", "green", "blue", "yellow");
print_r(array_splice($input,2)); //Array ( [0] => blue [1] => yellow )
?>
问题:array_splice()这个函数应该出输的是:Array ( [0] => red [1] => green ) 为什么会是上面注释后面的那个呢??我没明白,请高手指教``谢谢 展开
$input = array("red", "green", "blue", "yellow");
print_r(array_splice($input,2)); //Array ( [0] => blue [1] => yellow )
?>
问题:array_splice()这个函数应该出输的是:Array ( [0] => red [1] => green ) 为什么会是上面注释后面的那个呢??我没明白,请高手指教``谢谢 展开
3个回答
展开全部
你的理解是对的,代码写错罢了。。。
$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");
$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");
展开全部
array array_slice ( array array, int offset [, int length [, bool preserve_keys]] )
array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。
array array_splice ( array &input, int offset [, int length [, array replacement]] )
array_splice() 把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,则用 replacement 数组中的单元取代。返回一个包含有被移除单元的数组。注意 input 中的数字键名不被保留。
注意array_slice对原数组没有影响,array_splice会对原数组有影响
array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。
array array_splice ( array &input, int offset [, int length [, array replacement]] )
array_splice() 把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,则用 replacement 数组中的单元取代。返回一个包含有被移除单元的数组。注意 input 中的数字键名不被保留。
注意array_slice对原数组没有影响,array_splice会对原数组有影响
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
说明
array array_splice ( array &input, int offset [, int length [, array replacement]] )
看手册,第二个参数是偏移量,第三个才是长度,所以应该是:
print_r(array_splice($input,0,2));
array array_splice ( array &input, int offset [, int length [, array replacement]] )
看手册,第二个参数是偏移量,第三个才是长度,所以应该是:
print_r(array_splice($input,0,2));
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询