首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用“<”比较PHP中的两个对象

使用“<”比较PHP中的两个对象
EN

Stack Overflow用户
提问于 2017-04-16 05:32:28
回答 2查看 76关注 0票数 3

我的朋友问我,她如何在PHP中创建和比较日期。因为我知道PHP中有一个DateTime类,所以我告诉她搜索并使用它一旦被理解,但是我不确定比较的内容。所以我在谷歌上搜索了如何比较PHP中的日期。我认为DateTime类使用一些内置的方法来比较日期。但令我惊讶的是,代码看起来是这样的:

代码语言:javascript
运行
复制
$today_dt = new DateTime($today);
$expire_dt = new DateTime($expire);

if ($expire_dt < $today_dt) { /* Do something */ }

我不明白的是,如何使用像<这样的比较运算符来比较两个“对象”。我认为您只能使用比较运算符来比较原始数据类型。那么PHP如何使用比较运算符来比较两个“对象”呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-16 05:53:54

它没有很好的文档化,但是当比较对象时,PHP按照声明的顺序逐个比较成员变量,直到它找到第一个不均匀变量,并在此基础上返回结果。

这里有更多详细信息:http://us3.php.net/manual/en/language.oop5.object-comparison.php#98725

票数 8
EN

Stack Overflow用户

发布于 2017-04-16 06:04:03

是的,通常情况下,您的->是正确的,但是对于PHP内置类(如DateTime ),这是不同的。objects

我希望有一个实现"__compare“魔术方法来实现比较。但是,就目前而言,您有两个选项:

编辑阅读了@WhatHaveYouTriedSoFar上面的答案: 1)您可以使用比较对象的方式,“在找到的第一个不平等属性处停止比较操作并返回”(http://us3.php.net/manual/en/language.oop5.object-comparison.php#98725)

2)您可以创建自己的“比较”方法。

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

https://stackoverflow.com/questions/43434062

复制
相关文章

相似问题

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