PDA

View Full Version : استفاده از حلقه for در آرایه های چند بعدی



Salazar.mi
یک شنبه 28 مهر 1398, 17:25 عصر
سلام
مشکلم تو خط 54
میخوام در واقع اگر تو آرایه a خونه ای که تو ستون بعدی و سطر بعدی وجود داره را برام پیدا کند با صفر مقایسه کنه
این قسمتش که +1 داره را چجوری باید بنویسم تا درست بشه
****در واقع میخواهم اگر مقدار درون آرایه صفر باشه مقداری که تو توخونه سطربعد و ستون بعدش هست را پیدا کند؟
این را نمیفهمم
ممنون میشم کمکم کنین



<?php
for($j=1;$j<=8;$j++)
{

?>
<tr>
<?php
for($i=1;$i<=8;$i++)
{
?>
<td>
<?php

$data=$a['sotoon'.$i]["kh".$j];


switch($data)
{
case '0':
echo '<img src="assets/image/aaaa.png" class="khali">';
break;


case '1':
echo $data;
echo '<span class="fi icon-circle m_blue"></span>';
break;


case '2':
echo $data;
echo '<span class="fi icon-circle m_red"></span>';
break;


case '3':
echo $data;
echo '<span class="fi icon-circle m_ki_blue"></span>';
break;


case '4':
echo $data;
echo '<span class="fi icon-circle m_ki_red"></span>';
break;


case '5':
echo $data;
echo '<span class="por"></span>';
break;
}

if($a['sotoon'.$i+1]['kh'.$j+1]==="0")
{
echo "ok";//'<span class="entekhab"></span>';
}


?>

</td>

<?php
}
?>
</tr>

<?php
}
?>



<?php
$a=array(

"sotoon1"=>array(
"kh1"=>"5",
"kh2"=>"2",
"kh3"=>"5",
"kh4"=>"0",
"kh5"=>"5",
"kh6"=>"1",
"kh7"=>"5",
"kh8"=>"1",
),

"sotoon2"=>array(
"kh1"=>"2",
"kh2"=>"5",
"kh3"=>"2",
"kh4"=>"5",
"kh5"=>"0",
"kh6"=>"5",
"kh7"=>"1",
"kh8"=>"5",
),

"sotoon3"=>array(
"kh1"=>"5",
"kh2"=>"2",
"kh3"=>"5",
"kh4"=>"0",
"kh5"=>"5",
"kh6"=>"1",
"kh7"=>"5",
"kh8"=>"1",
),

"sotoon4"=>array(
"kh1"=>"2",
"kh2"=>"5",
"kh3"=>"2",
"kh4"=>"5",
"kh5"=>"0",
"kh6"=>"5",
"kh7"=>"1",
"kh8"=>"5",
),

"sotoon5"=>array(
"kh1"=>"5",
"kh2"=>"2",
"kh3"=>"5",
"kh4"=>"0",
"kh5"=>"5",
"kh6"=>"1",
"kh7"=>"5",
"kh8"=>"1",
),

"sotoon6"=>array(
"kh1"=>"2",
"kh2"=>"5",
"kh3"=>"2",
"kh4"=>"5",
"kh5"=>"0",
"kh6"=>"5",
"kh7"=>"1",
"kh8"=>"5",
),

"sotoon7"=>array(
"kh1"=>"5",
"kh2"=>"2",
"kh3"=>"5",
"kh4"=>"0",
"kh5"=>"5",
"kh6"=>"1",
"kh7"=>"5",
"kh8"=>"1",
),

"sotoon8"=>array(
"kh1"=>"2",
"kh2"=>"5",
"kh3"=>"2",
"kh4"=>"5",
"kh5"=>"0",
"kh6"=>"5",
"kh7"=>"1",
"kh8"=>"5",
)
);

behzadamin12
یک شنبه 28 مهر 1398, 20:54 عصر
https://www.php.net/manual/en/function.array-search.php

تو این لینک تو سایت php کاملا توضیح داده از چه تابعی استفاده کنی و اینقد خودتو اذیت نکنی تابع array_search
البته من نگرفتم پروژه دانشجویی هستش و حتما باید خودت دستی این کارو انجام بدی آیا؟

ali_sed
دوشنبه 29 مهر 1398, 00:40 صبح
روز بخیر

به این شکل از پرانتز استفاده کنید:


$a['sotoon'.($i+1)]['kh'.($j+1)])

Salazar.mi
دوشنبه 29 مهر 1398, 10:19 صبح
بی نهایت ممنونم از اینکه جواب دادین
برای بازی چکرز هست
پروژه هم دانشجویی
واسه درس یادگیری ماشین
گفته بودن با هر چی بلدین بنویسین
منم همینجوری نوشتم

Salazar.mi
دوشنبه 29 مهر 1398, 10:22 صبح
روز بخیر

به این شکل از پرانتز استفاده کنید:


$a['sotoon'.($i+1)]['kh'.($j+1)])

بی نهایت ممنونممم از اینکه جواب دادین
دیشب آخر وقت پیداش کردم
با همین رفتم
فقط اشتباه بزرگم این بود
که عدد هر آرایه را تو " " قرار داده بودم
و به عنوان یک عدد حسابش نمیکرد
برای همین علامت جمع را نمیتونست انجام بده
بسیار بسیار ممنونم که جواب دادین

Salazar.mi
دوشنبه 29 مهر 1398, 18:34 عصر
سلام مجدد
ببخشید من یه سوال دیگه برام پیش اومد
ممنونم میشم کمکم کنین
الان اینجا
$db میخواد بگه برای هرخانه از آرایه خانه ای که تو سطر بعد و ستون بعدش هست را بریز داخل db
ولی مشکل اینجاست که سطر آخر و ستون آخر و سطر و ستون بعدی ندارن
میخوام بگم اگر به سطر و ستون آخر رسیدی دیگه ادامه نده
دقیقا باید چی بنویسم



<?php
for($j=1;$j<9;$j++)
{

?>
<tr>
<?php
for($i=1;$i<9;$i++)
{
?>
<td>
<?php


$data=$a['sotoon'.$i]["kh".$j];
$db=$a['sotoon'.($i+1)]["kh".($j+1)];

if(($i+1)===9)
{

break;
}

if(($j+1)===9)
{
break;
}
switch($data)
{
case 0:
//echo $data;
//echo '<img src="assets/image/aaaa.png" class="khali">';
break;


case 1:
//echo $data;
echo '<span class="fi icon-circle m_blue"></span>';
break;


case 2:
//echo $data;
echo '<span class="fi icon-circle m_red"></span>';
break;


case 3:
//echo $data;
echo '<span class="fi icon-circle m_ki_blue"></span>';
break;


case 4:
//echo $data;
echo '<span class="fi icon-circle m_ki_red"></span>';
break;


case 5:
//echo $data;
echo '<span class="por"></span>';
break;

default:
echo "";
}


?>

</td>

<?php
}
?>
</tr>

<?php
}
?>