PDA

View Full Version : عدد رندوم



Salazar.mi
جمعه 17 آبان 1398, 17:24 عصر
سلام
من 8 تا fun دارم
به نام های fun1,fun2,fun3.fun4,fun5,fun6,fun7,fun8
و 8 تا متغیر به نام های
$vj1
$vj2
$vj3
$vj4
$vj5
$vj6
$vj7
$vj8
میخواهم بگم اگر $vj1 مقدارش برابر بود با هر کدوم از $vj های دیگه بیا رندوم یکیش را انتخاب کن
و حالا که $vj را انتخاب کرد fun متناظرشو اجرا کنه
مثلا اگر تو قسمت رندوم $vj6 انتخاب شد بیاد fun6 را اجرا کنه
و همینطور برای $vj2
اگر $vj2 مقدارش برابر بود با هر کدوم از $vj های دیگه بیا رندوم یکیش را انتخاب کن
و حالا که $vj را انتخاب کرد fun متناظرشو اجرا کنه
والی آخر...
امکانش هست کمکم کنین:گریه::گریه::گریه::گریه:

ASHKANLAEI
جمعه 17 آبان 1398, 18:09 عصر
$arr = [$vj1, $vj2, $vj3, $vj4, $vj5, $vj6, $vj7, $vj8];
$newarr = [];
foreach ($arr as $name => $val) {
if ($val == max($arr)) $newarr[] = $name;
}
$theFunc = "fun" . $newarr[rand(1, count($newarr)) - 1] + 1;
$theFunc();

Salazar.mi
جمعه 17 آبان 1398, 19:12 عصر
$arr = [$vj1, $vj2, $vj3, $vj4, $vj5, $vj6, $vj7, $vj8];$newarr = [];foreach ($arr as $name => $val) { if ($val == max($arr)) $newarr[] = $name;}$theFunc = "fun" . $newarr[rand(0, count($newarr) - 1)];$theFunc();

بی نهایت ممنونم که جواب دادین
راستش من خیلی متوجه کدی که نوشتین نشدم
ولی اجراش کردم میگه fun0 وجود نداره

ASHKANLAEI
جمعه 17 آبان 1398, 20:27 عصر
واقعا ببخشید در آخر کد باید rand(0 رو به rand(1 تغییر بدید.

Salazar.mi
جمعه 17 آبان 1398, 20:29 عصر
واقعا ببخشید در آخر کد باید rand(0 رو به rand(1 تغییر بدید.
بی نهایت ممنونممممم

ASHKANLAEI
جمعه 24 آبان 1398, 11:51 صبح
کد آپدیت شد. مشکل انتخاب نشدن خانه آخر درست شد.