Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP में ज़िग-ज़ैग में ऐरे लिस्ट को कैसे सॉर्ट करें?

यह विचार होगा:

  • अपना प्रारंभिक डेटा क्रमित करें (या अधिमानतः, इसे क्रमबद्ध करके प्रारंभ करें)।
  • इसे टुकड़ों में विभाजित करें, मूल रूप से आपकी प्रत्येक पंक्ति के लिए एक।
  • हर दूसरे हिस्से के क्रम को उलट दें।
  • मैट्रिक्स को पलटें ताकि आपको अपने समूह मिलें - एक प्रति पंक्ति के बजाय एक प्रति कॉलम।

उदाहरण:

// 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);

आउटपुट:

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. एक MySQL डेटाबेस में ट्रिगर के साथ कार्य करना - एक ट्यूटोरियल

  2. MySQL पूर्ण-पाठ खोज में वाइल्डकार्ड खोज

  3. ज़ेंड फ्रेमवर्क और मैसकल - बहुत धीमा

  4. नामित प्रश्नों में हाइबरनेट त्रुटियां

  5. अपने कैमिलो एलएमएस MySQL डेटाबेस का बैकअप कैसे लें