Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để sắp xếp danh sách mảng theo kiểu zig-zag trong PHP?

Ý tưởng sẽ là:

  • Sắp xếp dữ liệu bắt đầu của bạn (hoặc tốt hơn là bắt đầu với dữ liệu đã được sắp xếp).
  • Chia nó thành nhiều phần, về cơ bản là một phần trên mỗi hàng của bạn.
  • Đảo ngược thứ tự của mọi đoạn khác.
  • Lật ma trận để bạn có các nhóm của mình - một nhóm trên mỗi cột thay vì một nhóm trên hàng.

Ví dụ:

// Basic sample data.
$players = range(1, 24);

// Sort them ascending if you need to.
sort($players);

// Make a matrix. 2d array with a column per group.
$matrix = array_chunk($players, ceil(count($players)/4));

// Reverse every other row.
for ($i = 0; $i < count($matrix); $i++) {
    if ($i % 2) {
        $matrix[$i] = array_reverse($matrix[$i]);
    }
}

// Flip the matrix.
$groups = array_map(null, ...$matrix); // PHP 5.6 with the fancy splat operator.
//$groups = call_user_func_array('array_map', array_merge([null], $matrix)); // PHP < 5.6 - less fancy.

// The result is...
print_r($groups);

Đầu ra:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 12
            [2] => 13
            [3] => 24
        )

    [1] => Array
        (
            [0] => 2
            [1] => 11
            [2] => 14
            [3] => 23
        )

    [2] => Array
        (
            [0] => 3
            [1] => 10
            [2] => 15
            [3] => 22
        )

    [3] => Array
        (
            [0] => 4
            [1] => 9
            [2] => 16
            [3] => 21
        )

    [4] => Array
        (
            [0] => 5
            [1] => 8
            [2] => 17
            [3] => 20
        )

    [5] => Array
        (
            [0] => 6
            [1] => 7
            [2] => 18
            [3] => 19
        )

)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để giới hạn số hàng có thể được lưu trữ trong bảng mysql?

  2. SQL QUERY Sự cố sắp xếp kết quả

  3. Làm cách nào để kết nối cơ sở dữ liệu MySQL bằng Python + SQLAlchemy từ xa?

  4. Truy vấn MySQL để đếm các tên miền duy nhất từ ​​trường Địa chỉ email

  5. MySQL ATAN2 () Hàm - Trả về Arc Tangent của 2 giá trị