PHP:如何“切割”我的数组?

21

我有一个数组

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
)

我该如何删除最近的两个单元格并让表格更短?

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
)
感谢。

你是不是指最近的3个单元格?还是你的示例应该延伸到索引 3 - ircmaxell
3
这里的一些基本算术有误。 - bcosca
5个回答

46

看看array_slice()函数

所以,如果你只想要前三个元素:

$array = array_slice($array, 0, 3);

如果你只想要除了最后三个元素之外的所有元素:
$array = array_slice($array, 0, -3);

第二个参数是起始点(0表示从数组的开头开始)。
第三个参数是结果数组的长度。根据文档:

如果给定了正数的length,则序列中将有这么多个元素。如果给定了负数的length,则序列将从数组末尾向前截取这么多个元素。如果省略该参数,则序列将包含从offset到数组末尾的所有元素。


8

用刀把它切成薄片。

实际上,使用这个工具:

array_slice($array, 0, -3);

假设您的意思是截断最后3个元素。

4
使用 array_splice() 函数:
$new = array_splice($old, 0, 3);

上述代码返回了$old数组的前三个元素。
重要提示: array_splice()会修改原始数组。

使用 array_splice 函数可以直接修改数组本身,因此 $new === $old - Gumbo

1

使用 array_splice

$array = array(0,1,2,3,4,5);
array_splice($array,0,3);

1

这些提示本可以作为问题下的评论发布,因为此答案没有尝试实现特定的解决建议。这是2010年FGITW答案的典型问题。 - mickmackusa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接