如何在PHP中用自己的函数/方法模仿list()?

Dan*_*nie 1 php list

我们都知道这样的电话:

list($a, $b) = explode(':', 'A:B');
Run Code Online (Sandbox Code Playgroud)

但是如何制作可以使用相同方式的自定义功能呢?

$obj->mylist($a, $b) = explode(':', 'A:B');
mylist($a, $b) = explode(':', 'A:B');
Run Code Online (Sandbox Code Playgroud)

如果我使用上面的代码行,我总是得到:"不能在[...]的写上下文中使用方法返回值" 如何定义函数/类方法来接受这种类型的赋值?如何通过explode()返回的数组?通过func_get_args()?

当然,还有其他方法来分配explode()的结果,但这不是这个问题的主题.例如

$obj->mylist($a, $b, explode(':', 'A:B'));
mylist($a, $b, explode(':', 'A:B'));
Run Code Online (Sandbox Code Playgroud)

Thi*_*ter 8

这是不可能的,因为你不能写一个可以用作左值的方法.

list() 它不是一个函数,而是一个语言结构,这就是为什么它可以按照它的使用方式使用.