我有一个PHP代码可以在PHP7上运行,但不能在PHP 5上运行,该服务器上的PHP版本是我的代码:
Array (
[0] => stdClass Object (
[userId] => 15
[name] => name0
[userName] => hh
[centerName] => center10
)
[1] => stdClass Object (
[userId] => 16
[name] => name1
[userName] => test
[centerName] => center10
)
[2] => stdClass Object (
[userId] => 1
[name] => name2
[userName] => ll
[centerName] => center1
)
)
$ids = array_unique(array_column($results, 'centerName'));
print_r($ids);
我得到了PHP7中的期望,但我得到了PHP5中的空数组。
如何修改我的代码以在PHP5中工作?
最佳答案
从manual开始,自php7.0起增加了使用对象数组作为array_column
参数的功能。
在php5中,您根本无法使用array_column
从对象数组中获取列。因此,您需要使用其他一些代码,例如简单的foreach
:
$uniqueValues = [];
foreach ($results as $item) {
$uniqueValues[$item->centerName] = 1;
}
print_r(array_keys($uniqueValues));
关于php - 在PHP5中可以用什么替代代码在PHP7中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56270932/