PDA

View Full Version : اساتید لطفا راهنمایی کنین: راهنمایی در مورد کار با حلقه foreach



shapooor
شنبه 05 آبان 1397, 12:49 عصر
با سلام
من یک آرایه به ترتیب زیر ساختم


$arr = array("name1" => array(shahab => sadri),"name2" => array(majid => sadesgi),"name3" => array(arham => sadr),"name4" => array(jamshid => baghi),"name5" => array(atena => rajabi),);




و با استفاده از حلقه زیر بدون هیچ مشکلی به اعضای آرایه دسترسی داشتم


foreach($arr as $key => $value){ foreach($value as $names => $quantity){ //my codes . . . } }



الان اعضای جدیدی لازم شده که به آرایه اضافه کنم،به شکل زیر




$arr = array( "name1" => array(shahab => sadri, shahab2 => sadri2, shahab3 => sadri3), "name2" => array(majid => sadesgi, shahab => sadri, shahab => sadri), "name3" => array(arham => sadr, shahab => sadri, shahab => sadri), "name4" => array(jamshid => baghi,shahab => sadri, shahab => sadri), "name5" => array(atena => rajabi, shahab => sadri, shahab => sadri), );



حالا برای دسترسی به اعضای آرایه در حلقه با مشکل مواجه شدم
تمام مقادیر و اندیس آرایه ها هم با هم فرق میکنه
الان مثلا من چطور میتونم به اولین عضو آرایه
name1
دسترسی داشته باشم
و یا به همین ترتیب به سومین عضو همین آرایه
ممنون میشم راهنمایی کنین

shapooor
شنبه 05 آبان 1397, 13:06 عصر
متاسفانه کدها در بالا به هم ریخته شد
اینجا قرار دادم به صورت عکس که راحتتر دیده بشه


149152

charcharkh
شنبه 05 آبان 1397, 14:14 عصر
سلام سوالتون یکم مبهم هست یا شاید من بد متوجه شدم

خب شما الان یه آرایه جدید داری مثل همون بالایی trace بزن و بخون


اگر منظورتون اینکه بعد از پیمایش آرایه مقادیر اضافه میشن خب یجوری بنویس اول آرایه چک بشه و تایید بشه بعد ادامه کار...

اگر بیشتر توضیح بدید شاید بهتر بشه راهنمایی کرد.

plague
یک شنبه 06 آبان 1397, 11:19 صبح
همین کد جواب برای پیمایش آرایه دوم هم


foreach($arr as $group )
foreach($group as $family=>$name )
echo " $family $name ";


ولی اگه منظورت اینه که مستقیم دسترسی پیدا کنی به اعضای آرایه بدون حلقه , باید بدونی کلید ها چی هستن
در کل ایده خوبی نیست که کلید های آرایه رو متغیر بزارید
پیشنهاد میکنم به ای نشکل تغییر بدی


$arr = [
"name1" => [ ['name'=>'a' , 'family'=>'aa'] , ['name'=>'b' , 'family'=>'bb'] ] ,
"name2" => [ ['name'=>'x' , 'family'=>'xx'] , ['name'=>'y' , 'family'=>'yy'] ] ,
];