gpt4 book ai didi

php - 带有对象数组的 array_column

转载 作者:行者123 更新时间:2023-12-02 07:22:49 27 4
gpt4 key购买 nike

<分区>

TLDR;我的问题不同于 PHP. Is it possible to use array_column with an array of objects .我只想更改数组中的键并保留对象,而不是像给定的答案那样将对象的值存储在单独的数组中。

我想将包含对象的数组的键设置为对象的值。所以这个数组:

$array = Array
(
[0] => stdClass Object
(
[id] = 12234
[value] = some value
)

[1] => stdClass Object
(
[id] = 12994
[value] = some value
)

)

应该变成:

$array = Array
(
[12234] => stdClass Object
(
[id] = 12234
[value] = some value
)

[12994] => stdClass Object
(
[id] = 12994
[value] = some value
)

)

现在我可以遍历数组,但我更喜欢更简洁的解决方案。我认为这应该有效:

$newArray = array_column($array, null, 'id');

唯一的问题是我有一个对象数组而不是数组数组,而且我还没有使用 PHP7。现在我在这里发现了一个类似的问题 PHP. Is it possible to use array_column with an array of objects

但问题是它没有返回我预期的结果。原因是:

$newArray = array_map(function($o) {
return is_object($o) ? $o->id : $o['id'];
}, $array);

返回

Array
(
[0] => 12234
[1] => 12994
)

有人知道一个干净的解决方案(没有 for 或 foreach 循环)吗?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com