是否可以编写一个返回多个值的函数来填充数组而不使用...(省略号)?

问题描述 投票:0回答:1

我想重写下面的

function abc

function abc(){
    return ['a', 'b', 'c'];
}

在某种程度上我可以用它来填充一个数组,就像这样:

$arr = [abc(), 'd', 'etc'];

并且

$arr
将是
['a', 'b', 'c', 'd', 'etc']

我知道我可以做到

$arr = [...abc(), 'd', 'etc'];
,但我想知道是否可以不使用...(省略号)。

如果可以的话,那怎么可能呢?但如果不可能,为什么?

php arrays types return
1个回答
0
投票

你想要的东西是不可能的。

[abc(), 'd', 'etc']
始终会导致 abc() 恰好将
一个
值插入到数组中,而不是三个。无论
abc()
返回什么,都将准确地插入到该位置。你可以用不同的方式写,这样可能会更清楚:

$result = abc();
[$result, 'd', 'etc'];

$result
只会恰好是 one 值。该值本身可能是一个数组,但结果将如下所示:

[['a', 'b', 'c'], 'd', 'etc']
© www.soinside.com 2019 - 2024. All rights reserved.