رفتن به مطلب

حلقه ی foreach و چاپ آرایه


پست های پیشنهاد شده

سلام.

من سه تا آرایه دارم.


$tabs = array('1' => 'یک','2' => 'دو','3' => 'سه',);
$sub1 = array('1-1' => '1-1','1-2' => '1-2');
$sub2 = array('2-1' => '2-1','2-2' => '2-2');

می خوام با foreach تو در تو به گونه ای نمایش بدم که برای هر آرایه متغیر اول $tabs، آرایه های متغیر sub1، sub2 و ... نمایش بشه. یه چیزی شبیه درختی میشه.

یک

1-1

1-2

دو

2-1

2-2

سه

3-1

3-2

.

.

.

لینک به ارسال

سلام ، یه متغیر $x تعریف کنید و با هر بار اجرا شدن حلقه $x++ بهش بدید.

اگر میخواید 2 تا عدد رو با هم بالا ببرید یه متغیر $y هم تعریف کنید و اونم $y++ کنید.

توجّه داشته باشید که اگر میخواید متغیر $y تا یه عدد مشخّص مثل 2 بره باید به شرط های foreach اضافه کنید که:

$y =< 2

با توجّه به سؤالتون مشخّص میشه اطلّاعاتی راجع به برنامه نویسی دارید ، ولی بازم اگر نیاز به توضیحات بیشتری بود کدتون رو بذارید تا توضیحات بیشتری بدم.

لینک به ارسال

<meta charset="utf-8">
<?php
$tabs = array(
1 => 'یک',
2 => 'دو',
3 => 'سه',
);
$sub[1] = array('1-1' => '1-1','1-2' => '1-2');
$sub[2] = array('2-1' => '2-1','2-2' => '2-2');
foreach($tabs as $key=> $tabs){
if (array_key_exists($key,$sub)){
echo "$tabs <br> \n";
foreach($sub[$key] as $_sub){
echo $_sub."<br>";
}

}
}

ویرایش شده توسط ایگل دیزاین
لینک به ارسال

سلام.

من سه تا آرایه دارم.


$tabs = array('1' => 'یک','2' => 'دو','3' => 'سه',);
$sub1 = array('1-1' => '1-1','1-2' => '1-2');
$sub2 = array('2-1' => '2-1','2-2' => '2-2');

یک

1-1

1-2

دو

2-1

2-2

سه

3-1

3-2

.

.

.

برای این خروجی شما کد های زیادی میشه نوشت .. مثلا اگه فقط خروجی بالا مد نظر باشه کد زیر ساده ترینه :


<?php
header('Content-Type: text/html; charset=utf-8');
$tabs = array('1'=>'یک' , 2=>'دو' , 3=>'سه');

foreach ( (array) $tabs as $tabs_key => $tabs_val ) {

echo $tabs_val. '<br/>';

for ( $i=1; $i <=2; $i++ ) {

echo $tabs_key.'-'.$i.'<br/>';

}

}

اما برای آرایه تو در تو اگه بخواید ؛ کد زیر هم همون کار رو میکنه و مثل کد خودتون باید sub1 sub2 sub3 ......... رو بهش وارد کنید :


<?php
header('Content-Type: text/html; charset=utf-8');
$tabs = array('1'=>'یک' , 2=>'دو' , 3=>'سه');
$sub1 = array('1-1' => '1-1', '1-2' => '1-2');
$sub2 = array('2-1' => '2-1', '2-2' => '2-2');
$sub3 = array('3-1' => '3-1', '3-2' => '3-2');

foreach ( (array) $tabs as $tabs_key => $tabs_val ) {
echo $tabs_val. '<br/>';
$i=1;
while ( !empty (${'sub'.$i}) ) {
foreach ( (array) ${'sub'.$i} as $sub1_key => $sub1_val ) {
list( $a , $b ) = explode( '-' , $sub1_val);
if ( $a == $tabs_key ) {
echo $sub1_val.'<br/>';
}
}
$i++;
}
}

لینک به ارسال

مشکلی پیش نمیاد که key , value یکی باشن ؟ !

ویرایش شده توسط ایگل دیزاین
لینک به ارسال

ببخشید خطای دید بود

حل شد !

ویرایش شده توسط ایگل دیزاین
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...