PDA

View Full Version : حرفه ای: گزاشتن شرط روی foreach



digitak
دوشنبه 10 اسفند 1388, 19:22 عصر
سلام
میشه روی foreach شرط گزاشت ؟
مثلا فقط آاریه هایی رو نشون بده که مقدار id اون برابر 0 باشه !

یا یه چیزی مثل این تو آرایه ها

ممنون

Jason.Bourne
دوشنبه 10 اسفند 1388, 20:00 عصر
شرط را داخل بدنه foreach قرار دهید.

digitak
سه شنبه 11 اسفند 1388, 14:13 عصر
ممنون که جواب دادید
مطمئنا نمی شد که این کار رو نکردم !

این کد رو برای قسمت دسته بندی ها می خوام که به صورت سرشاخه و زیرشاخه هست
همه رو توی یک آرایه گزاشتم
اگه یک سطری مقدار topcatid اون برابر 0 باشه سرشاخه است
و اگر اعداد دیگری باشه مثلا 5 نشون میده که این سطر زیرشاخه سطری هست که id اون برابر با 5 باشه
حالا یه شرط نیاز دارم که فقط اونهایی رو از آرایه استخراج کنم که مقدار topcatid اون برابر 0 باشه
و یک حلقه دیگره توش می زارم و یه شرط برای اون نیاز دارم که جاهایی رو نشون بده که مقدار topcatid شون برابر با id رکورد فعلی باشه

با sql می تونم این کار رو انجام بدم ولی میخوام با آرایه باشه !

ممنون

Jason.Bourne
سه شنبه 11 اسفند 1388, 16:35 عصر
نمونه ای از آرایه ای که ایجاد کرده اید را اینجا قرار دهید تا خدمت شما عرض کنم.

digitak
سه شنبه 11 اسفند 1388, 18:21 عصر
با این کد درست شد !
ممنون از همه که پاسخ دادن

$sql = $db->sql("select * from category order by id desc");

while ($row = $db->mfa($sql))
{
if ($row['topid'] == 0)
{
$array[$row['id']] = array(
'id' => $row['id'],
'title' => $row['title'],
'topid' => $row['topid']
);
}
else
{
$array2[$row['id']] = array(
'id' => $row['id'],
'title' => $row['title'],
'topid' => $row['topid']
);
}
}

foreach ($array as $key)
{
$output .= '<font color="#e90101">::</font> <a href="article_list.php?cid='.$key['id'].'">'.$key['title'].'</a><br>';

foreach ($array2 as $kex)
{
if ($kex['topid'] == $key['id'])
{
$output .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#e90101">::</font> <a href="article_list.php?cid='.$kex['id'].'">'.$kex['title'].'</a><br>';
}
}
}

majid_alamdary
پنج شنبه 13 اسفند 1388, 00:09 صبح
سلام
میشه روی foreach شرط گزاشت ؟
مثلا فقط آاریه هایی رو نشون بده که مقدار id اون برابر 0 باشه !

یا یه چیزی مثل این تو آرایه ها

ممنون
گزاشتن نه گذاشتن

digitak
پنج شنبه 13 اسفند 1388, 16:01 عصر
اگه می خوای آمار پستت بالا بره راه های دیگری هم هست ! غلط املایی زیاد پیش میاد ! مثل این : قلت عملایی !