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

php डेटाबेस के लिए एक पदानुक्रमित नेस्टेड सेट में सरणी परिवर्तित करें

सरणी ठीक नहीं थी।

यह काम कर रहा है

$in_array = array (
    // array(
            'id' => 400,
            'n' => 'Sub 1a',
            's' => array (
            //       array (
                            'n' => 'Sub 1b',
                            'id' => 421,
                            's' => array (
                    //               array (
                                            'n' => 'Sub 1c',
                                            'id' => 422,
                        //              )
                              )
                //    )
        //      )
        ),
     array(
            'id' => 500,
            'n' => 'Sub 2a',
            's' => array (
                //  array (
                            'n' => 'Sub 2b',
                            'id' => 521,
                            's' => array (
                        //          array (
                                            'n' => 'Sub 3b',
                                            'id' => 522,
                            //          )
                              )
                    //  )
                )
        )   
);

$a_newTree = array();
function rebuild_tree($parent, $left) {   
global $a_newTree;

$indexed = array();
$right = $left+1;   

if(array_key_exists('n',$parent)){
    $indexed['n'] = $parent['n'];
}else{
    $indexed['n'] = '?';
}


    foreach($parent as $cat){
            if(is_array($cat)){
                $right = rebuild_tree($cat, $right);    
            }
    }


array_push($a_newTree,array(':lft'=>$left,':rgt'=>$right,':name'=>$indexed['n']));

return $right+1;   
}   

rebuild_tree($in_array, 1);



  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. क्या mysqldump बाइनरी डेटा को मज़बूती से संभालता है?

  3. SQLSTATE [42000]:सिंटैक्स त्रुटि या पहुँच उल्लंघन:1066 संबंध पर अद्वितीय तालिका/उपनाम नहीं है

  4. MySQL में एक्सेंट कैसे निकालें?

  5. जावास्क्रिप्ट से डेटा को mysql डेटाबेस में भेजें