PHP |如何使用唯一标志对数组中的值进行排序?

PHP | How to sort values in array with unique flag?

我有一个数组作为集合,并根据到期日期按升序排列,如下所示:

$creditDetails = $this->_creditFactory->create()
                      ->addFieldToFilter('customer_id', 1)
                      ->setOrder('date_expires', 'asc');

我有一些记录没有任何到期日,即 NULL

我希望此类记录在有有效期的记录结束时或之后收集。现在,没有过期日期的记录优先执行。

我该怎么做?

我不确定 magento。但是,在 MySQL 中,空值的排名低于实际值,因此它们自然会出现在升序列表的顶部。然而,在 MySQL.

中有一种解决方法

在列名前使用减号,指示 MySQL 将 NULL 值推到更高的排名(在带减号的东西之上)。

注意:减号运算符非常适用于整数和日期,但还有其他方法可用于字母数字列。

那是说您可以尝试以下方法。

$creditDetails = $this->_creditFactory->create()->addFieldToFilter('customer_id', 1)->setOrder('-date_expires', 'asc');

注意 'date_expires'

之前的 -