在PHP中提取除第一个数组元素之外的连续数组元素,而不会收到奇怪的错误


Extracting consecutive array elements except the first in PHP without receiving weird error

直到最近,由于使用list()仅从数组中提取某些元素,我还有未使用的变量。我正在尝试做一个检索元素的快速函数。

举个例子,我有一个用参数调用的函数,它总是在数组中返回以下内容

Index 0: John Doe
Index 1: 123 Jane Street
Index 2: 902-555-5555
Index 3: Canada

如果我想要所有的元素,我可以很容易地做一些事情,比如:

list($name,$address,$phone,$country)=functiontogetinfo();

然后我可以通过像PHPMD这样未使用的变量测试仪运行它,它会很高兴的。但是,如果我决定只使用最后三个值(地址、电话、国家/地区),PHPMD就会抱怨$name是一个未使用的变量。这让我很困扰,因为我开始认为未使用的已分配变量会浪费内存。

然后,我尝试了一些方法,使PHPMD和计算机内存上的事情变得更容易。我在命令行上尝试过:

php -r "list(NULL,$a)=x();echo $a;exit();function x(){return array(1,2);};"

我希望结果会显示"2",但我却得到了一个奇怪的错误:

分析错误:语法错误,意外的",",在第1行的命令行代码中应为:(T_PAAMAYIM_NEKUDOTAYIM)

如果我将NULL更改为任何变量,代码都会编译得很好,但PHPMD会抱怨有一个未使用的变量。

我是否可以获得数组中除第一个元素外的所有元素,而不必手动遍历每个索引,也不必收到奇怪的错误?

别介意。我在网上发现,我只是删除了这个变量,在它的位置上什么也不用。例如:

list(,$var2)

而不是

list(NULL,$var2)