сортировка функции - PullRequest
       1

сортировка функции

0 голосов
/ 24 марта 2019

У меня есть журнал покупок в моем администраторе интернет-магазина, один покупатель покупает много товаров, все товары помечены SKU, и я хочу отсортировать и сгруппировать свой журнал покупок по sku.

Есть ли способ отсортировать и сгруппировать их?

Это журнал покупок SKU может выглядеть так:

27318
15277
14065
6236
vild-100
N/A
blomsterkasser-40g
16694
7147
24608

и отсортированная версия, которую я ищу:

6236
7147
14065
15277
16694
24608
27318
blomsterkasser-40g
vild-100
N/A

Вот код:

private function purchase_log_cart_items() {
while( wpsc_have_purchaselog_details() ) :
wpsc_the_purchaselog_item(); ?>
<tr>
<td><?php echo wpsc_purchaselog_details_quantity(); ?> x </td> <!-- QUANTITY! -->
<td><?php echo wpsc_purchaselog_details_name(); ?></td> <!-- NAME! -->
<td><?php echo wpsc_purchaselog_details_SKU(); ?></td> <!-- SKU! -->
<td>
<?php
echo wp.....

1 Ответ

3 голосов
/ 24 марта 2019

Вы можете сделать это с помощью usort и пользовательской функции сортировки:

$array = [
    27318,
    15277,
    14065,
    6236,
    'vild-100',
    'N/A',
    'blomsterkasser-40g',
    16694,
    7147,
    24608
];

usort($array, function($left, $right) {
    // else 'blomsterkasser-40g' would be the first entry
    $left = (string) $left;
    $right = (string) $right;
    // always put 'N/A' on the last position
    if($left == 'N/A' && $right == 'N/A') {
        return 0;    
    }else if($left == 'N/A') {
        return 1;
    } else if($right == 'N/A') {
        return -1;
    }

    return $left <=> $right;
});

var_dump($array);

Рабочий код: https://3v4l.org/2K5sO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...