PDA

View Full Version : چاپ عدد به صورت اتفاقی یا همان رندوم چجوریه ؟



beh9am
دوشنبه 05 آبان 1393, 19:51 عصر
سلام

من یک مشکل دارم اینه که الان 20 تا جمله یا عدد دارم مثلا





1
2
3
4
....

19
20




حالا میخوام از این 20 تا ، تعداد 5 تاش به صورت تصادفی انتخاب بشه و چاپ بشه یعنی یه بار که صفحه لود میشه 5 تا از این عددا چاپ بشه و دفعه بعد 5 تای دیگه به صورت اتفاقی

هر باری که صفحه لود میشه 5 تا به صورت اتفاقی نمایشداده بشه

چجوری باید این کارو بکنم ؟

saeed-71
دوشنبه 05 آبان 1393, 20:09 عصر
<?php
function rand_string($len, $chars = '0123456789')
{
$string = '';
for ($i = 0; $i < $len; $i++)
{
$pos = rand(0, strlen($chars)-1);
$string .= $chars{$pos};
}
return $string;
}
?>

فرزند کوروش
دوشنبه 05 آبان 1393, 20:12 عصر
متن هات رو بصورت آرایه ذخیره کن بعد با تابع array_rand() به هر تعدادی که میخای عدد تصادفی چاپ کن مثلا:

$num = array('1','2','3','4');
$rand_keys = array_rand($num, 2);
echo $num[$rand_keys[0]];
echo $num[$rand_keys[1]];


به جای عدد 2 داخل
array_rand($num, 2);
تعدادی که میخای برگرده رو چاپ کن

hamedarian2009
دوشنبه 05 آبان 1393, 20:15 عصر
اگه اشتباه نکنم میخواهین هربار یک جمله نیکو رو در سایت نمایش بدین
یک راه ساده میتونه اینجوری باشه که شما اعدادتون یا جملاتتون داخل یک آرایه باشه و با تابع shuffle میتونید با هر بار رفرش صفحه اونها رو بهم بریزه و با for نشون بدین


$nums = range(1, 20);
shuffle($nums);
for ($i=0; $i <= 5 ; $i++) {
echo $nums[$i].'<br>'.PHP_EOL;
}

beh9am
دوشنبه 05 آبان 1393, 20:57 عصر
دوستان تشکر کدهاتون کارمیکنه اما اون چیزی که میخوام نیست



اگه اشتباه نکنم میخواهین هربار یک جمله نیکو رو در سایت نمایش بدین
یک راه ساده میتونه اینجوری باشه که شما اعدادتون یا جملاتتون داخل یک آرایه باشه و با تابع shuffle میتونید با هر بار رفرش صفحه اونها رو بهم بریزه و با for نشون بدین


$nums = range(1, 20);
shuffle($nums);
for ($i=0; $i <= 5 ; $i++) {
echo $nums[$i].'<br>'.PHP_EOL;
}



برای شما همونه فقط الآن چجوری میتونم به جای عدد جمله بزارم ؟

فرض کنید من 20 تا جمله دارم :

جمله 1
جمله 2
جمله 3
....
جمله 18
جمله 19
جمله 20


چجوری این کارو بکنم ؟



تشکر

beh9am
دوشنبه 05 آبان 1393, 21:20 عصر
دوستان مشکلم حل شد به این شکل :




<?php


$nums = array(
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8');

shuffle($nums);
for ($i=0; $i <= 3 ; $i++) {
echo $nums[$i].'<br>'.PHP_EOL;
}








واقعا تشکر میکنم از همتون

beh9am
دوشنبه 05 آبان 1393, 21:39 عصر
دوستان بی زحمت اگر میشه به این سوال هم کمک کنید :

در قسمتی از یک اسکریپت وقتی مطلب پیدا نمیشه قسمت عنوان و متن مطلب خالی میمونه

برای نمایش قسمت مطلب از این کد استفاده میکنه



<h2><?= html_to_utf8($v[0]) ?></h2>
<p><?= html_to_utf8($v[1]) ?></p>



میخوام وقتی مطلبی یافت نشد کلمه ای که خودم مینویسم رو نمایش بده

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

تشکر