首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >未调用usort比较函数

未调用usort比较函数
EN

Stack Overflow用户
提问于 2018-08-30 03:28:39
回答 1查看 178关注 0票数 2

我有一个包含对象的数组,我想按对象属性对数组进行排序。因此,我必须使用usort。但是我的数组没有排序。因此,我在代码中添加了一些var_dumps来调试它。下面是我的代码:

代码语言:javascript
复制
var_dump(count($fields));
usort($fields, function ($a, $b) {
    var_dump("A");
    return ($b->getPosition() - $a->getPosition());
});
var_dump("B");
die;

结果是:int(4) string(1) "B"和..

我希望看到string(1) "A"也能打印出来

所以看起来在usort函数内部没有发生任何事情。什么可以解释这种行为?我的PHP版本是7.1.21

(我已经编辑了上面的代码,但它仍然不能工作。没有记录A,并且数组未排序)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-30 05:03:27

usort不能处理对象(至少在PHP7.2中)。您需要将其转换为数组(因为它似乎是一个集合对象,它可能有一个像toArray()这样的方法)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52084797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档