如何在PHP中对结果进行排序?

卡莱克斯·帕莱克斯
     foreach($domainCheckResults as $domainCheckResult)
    {
        switch($domainCheckResult->status)
        {
            case Transip_DomainService::AVAILABILITY_INYOURACCOUNT:
                $result .= "<p style='color:red;'>".$domainCheckResult->domainName."</p>";
            break;

            case Transip_DomainService::AVAILABILITY_UNAVAILABLE:
                $result .= "<p style='color:red;'>".$domainCheckResult->domainName."</p>";
            break;

            case Transip_DomainService::AVAILABILITY_FREE:
                $result .= "<p style='color:#1aff1a;'>".$domainCheckResult->domainName."   "."<a href='ticket.php'><img src='img/next.png' alt='house'                                                      width='20' height='20' align='right' title='domein aanvragen?'></a>"."</p>";
            break;

            case Transip_DomainService::AVAILABILITY_NOTFREE:
                $result .= "<p style='color:#ff9933;'>".$domainCheckResult->domainName."   "."<a href='contactform.php'><img src='img/65.png' alt='house'                                          width='20' height='20' align='right' title='domein laten verhuizen?'></a>"."</p>";
            break;
        }
    }

所以我有 4 个可能的域可用性结果。我有一个包含 20 个域的数组,当我得到结果时,我会在数组的排序中得到它们。但是我如何根据可用性进行排序,那么一次免费的全部在顶部,而一次由于任何原因不免费呢?我可以使用什么?我使用了 sort() 标签,但这无济于事。

耀西

您需要以某种方式定义顺序,然后usort()适当地使用

例如:

<?php

interface Transip_DomainService
{
    public const AVAILABILITY_INYOURACCOUNT = 'inyouraccount';
    public const AVAILABILITY_UNAVAILABLE   = 'unavailable';
    public const AVAILABILITY_FREE          = 'free';
    public const AVAILABILITY_NOTFREE       = 'notfree';
}

// define required order
$priority = [
    Transip_DomainService::AVAILABILITY_FREE          => 0,
    Transip_DomainService::AVAILABILITY_NOTFREE       => 1,
    Transip_DomainService::AVAILABILITY_UNAVAILABLE   => 2,
    Transip_DomainService::AVAILABILITY_INYOURACCOUNT => 3,
];

$domainCheckResults = [
    (object) ['domainName' => 'a', 'status' => Transip_DomainService::AVAILABILITY_NOTFREE],
    (object) ['domainName' => 'b', 'status' => Transip_DomainService::AVAILABILITY_UNAVAILABLE],
    (object) ['domainName' => 'c', 'status' => Transip_DomainService::AVAILABILITY_INYOURACCOUNT],
    (object) ['domainName' => 'd', 'status' => Transip_DomainService::AVAILABILITY_FREE],
    (object) ['domainName' => 'e', 'status' => Transip_DomainService::AVAILABILITY_INYOURACCOUNT],
    (object) ['domainName' => 'f', 'status' => Transip_DomainService::AVAILABILITY_FREE],
];

// apply sort using order lookup
usort($domainCheckResults, function ($a, $b) use ($priority) {
    return $priority[$a->status] <=> $priority[$b->status];
});

print_r($domainCheckResults);

演示:https : //3v4l.org/j24rM

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在sphinx / php中对结果进行排序?

如何在Laravel中对结果进行分页和排序?

如何在mongodb中对查找结果进行排序

如何在 SQLAlchemy 中按降序对结果进行排序?

如何在数据日志查询中对结果进行排序

如何在 Prolog 中对结果列表进行排序?

如何在Sequelize中对查询结果进行排序?

如何在mysql中的union子句中对结果进行排序

如何在 oracle 中的“IN”位置对结果数据进行排序

在mongodb php中对mapReduce结果进行排序

当要排序的值是计算结果时,如何在Vue中对列进行排序

如何在PHP中对多维数组进行排序?

如何在php Laravel中对关联数组进行排序

如何在PHP中对数组和数据进行排序?

如何在PHP中按值对多维数组进行排序

如何在php中对合并数组进行排序?

如何在PHP中对多维数组进行排序

如何在 PHP 中按日期对 MySQL 条目进行排序?

如何在 PHP 中对这个数组进行排序?

如何在MongoDB中按月对结果排序

如何在javascript中按相关性对搜索结果进行排序

如何在regex模式上标记化并在python中对结果列表进行排序

如何在Hadoop MapReduce中对结果进行排序并切掉最上面的条目?

如何在Laravel QueryBuilder / MySQL Spatial软件包中按距离对查询结果进行排序?

如何在Cloudwatch Log Insights中按汇总对结果进行排序?

如何在Android中按字母顺序对领域结果列表进行排序?

如何在MySQL中按日期对相关结果进行分组和排序

如何在swi-prolog中对最终结果进行排序?(包括谓词)

如何在弹性搜索中对多个索引的结果进行排序和限制