مشکل با آرایه

hidensoft

Member
به این آرایه نگاه کنید .
کد:
Array
(
    [categories] => Array
        (
            [cat1] => Array
                (
                    [0] => Array
                        (
                            [subcat1] => test1
                        )
                )
            [cat2] => Array
                (
                    [0] => Array
                        (
                            [subcat1] => test2
                            [subcat2] => test3
                        )
                )
        )
)
تصور کنید شما نمی دونید آرایه categories دارای چند تا عنصر هست و نام عنصر هاش چی هست . مثلا اینجا دارای دو عنصر با نام های cat1 و cat2 هست.
چطوری می تونم بفهمم چند تا عنصر داره و نامش چی هست ؟
یه سوال دیگه !
اگه من نام عنصر های یک آرایه رو ندونم می تونم بازم اطلاعاتی از آرایه بگیرم ؟ یعنی بدون اینکه از نام عنصر استفاده کنم اطلاعات اون عنصر رو بگیرم ؟
 

hidensoft

Member
دوستان آرایه تو در تو هست. foreach همینطوری کل آرایه رو بر نمی گردونه
 

jhoseini

Member
PHP:
foreach($arr as $key = > $record){ 
   if(is_array($record)){
      foreach($record as $key2 = > $record2){ 
        ;// do some thing whit $key2 and $record2
      }
   } else {
      ;// do some thing whit $key and $record
   }
}
 
آخرین ویرایش:

tabib_m

Member
اگر هم خواستی تا جایی که آرایه های تو در تو هست ، به صورت اتوماتیک خودش foreach بذاره، باید یک تابع بسازی و داخلش خود تابع رو فراخوانی کنی...
اگر نیازی به توضیح داره، بگو یه نمونه برات بزارم...

موفق باشید.
 

hidensoft

Member
هر چند که نتونستم کار رو به موقع انجام بدم و پرید
ولی اگه تونستی یه نمونه بزار واسه اطلاعات عمومی خوبه

موفق باشید
 

tabib_m

Member
PHP:
function subArrays($array){

     if(!is_array($array) return false;

     foreach($array as $key => $val){
          if(is_array($val){
                subArrays($val);
          }else{
                echo $key."=>".$val;
          }
     }
}

این یه نمونه ی خیلی ساده بود. میتونی روش کار کنی و بهینه ش کنی...

موفق باشید.
 

جدیدترین ارسال ها

بالا