PHP:从数组中删除元素

时间:2015-10-08 18:34:35

标签: php arrays

我的问题是关于操作数组元素的PHP函数,比如array_pop()和array_shift()。

在我见过的所有例子中(包括php.net),由于这些函数返回被删除的值,因此在执行时会将它们分配给变量,例如:

$exampleArray=array("1","2","3");
$removedNum=array_pop($exampleArray);

我找不到的是你是否必须分配删除的值,或者你可以从最后弹出值并完成它,例如在Ruby中。 我已经尝试过并且有效,例如:

array_pop($exampleArray); 

但我不确定这是否是PHP编程中可接受的做法?或者我应该始终将值分配给变量吗?

3 个答案:

答案 0 :(得分:1)

使用hasattr(cs, 'autoscale_None') array_pop()删除不需要的值是有效的,在某些情况下,甚至可以根据您正在使用的数据进行操作。

也就是说,如果你正在处理CSV文件,并且有一个来自该文件的行数组,其中第一行是你知道永远不会改变的标题数据(粗体假设),这对你的脚本无关紧要,在开始循环处理值之前,您可以安全地从数组中删除第一行。

至于这是否是一种好的做法,这是与维护你的代码的人讨论的事情......

答案 1 :(得分:0)

你可以:

array_pop($exampleArray);

如果您不需要使用该值,则不必将该值分配给变量。

答案 2 :(得分:0)

这取决于您的应用程序正在做什么。例如,如果您的应用程序确实需要保存弹出的最后一个号码,那么是。否则,您不需要变量。此外,它需要内存来创建变量。对于小型操作来说,这似乎并不多,但如果你有一个十亿次操作的循环,那么这就变得浪费了。只要你的代码是可读的,你就没事了:)。