• 0

كيف أرتب مصفوفة متعدّدة الأبعاد على php؟

لديّ مصفوفة متعدّدة الأبعاد Multi Dimension على Php وأودّ ترتيبها، وكودي كالآتي:

 $stack = array(array("Price" => $op,"num" => $noi),
        array("Price" => $op1,"num" => $noi1),
        array("Price" => $op2,"num" => $noi2),
        array("Price" => $op3,"num" => $noi3));



    function cmp($a, $b)
    {
      return strcmp($a["num"], $b["num"]);
    }
      usort($stack, "cmp");

لكن أصادف مشكلة أثناء عملية الترتيب حيث لا أحصل على قيم مرتّبة بالشكل الصحيح، فهل من خطأ ما، وكيف أقوم بالعملية بشكل صحيح؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

جرّب هذه الشيفرة والتي تقوم بترتيب المصفوفة ذات الأبعاد المتعددة:

    if ($a['num'] == $b['num']) {
        return 0;
    }
    return ($a['num'] < $b['num']) ? -1 : 1;
}

مثال آخر لطريقة الترتيب:

foreach ($mdarray as $key => $row) {
    // indexتعويض 0 بقيمة 
    $dates[$key]  = $row[0];
}

array_multisort($dates, SORT_DESC, $mdarray);

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن