我有一个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/

10-16 13:28