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'
之前的 -
我有一个数组作为集合,并根据到期日期按升序排列,如下所示:
$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'
之前的 -