PHP隨機產生隨機數目的值解決思路

來源:互聯網
上載者:User
PHP隨機產生隨機數目的值
昨天剛接觸PHP,想做個這樣的需求:通過一個PHP代碼,可以隨機產生隨機數目的值,插入到資料庫中,結構如下:
表名:test
欄位名: 使用者id aihao
值: 1 吃飯
值: 20 吃飯,睡覺
值: 35 吃飯,睡覺,打豆豆
值: 203 睡覺,打豆豆


其中使用者ID是已經存在的,無需修改。愛好的值是需要隨機賦予的。我寫的代碼是這樣的:

for($i=0;$i<4;$i++){

$aihao=array("吃飯","睡覺","打豆豆");

$rn=rand(1,3);

$result=array_rand($aihao,count($rn));

$sql="replace into test(aihao) values ($result)";

$re=mysql_query($sql);


}

運行結果為固定的1位元字,並不是array中的隨機數目的元素名,請各位幫看看具體是哪裡有問題了。

因為接觸PHP還不到2天,上述代碼都是百度出來的,我覺得問題可能出在對array_rand函數理解不夠上面,根據PHP協助文檔的內容,實在看不出來該怎麼改了,希望大家能指點指點,謝謝。
------解決方案--------------------
1.$aihao這個變數既然不被修改,應該定義在迴圈之外
2.查了下手冊,array_rand返回的是隨機鍵而不是值,你定義$aihao沒有指定鍵,那就是0,1,2了
3.$rn本身就是想要一個隨機個數,為什麼還要加count呢?
4.$result在多個值的情況下是數組,不能直接寫入sql語句



$aihao = array("吃飯", "睡覺", "打豆豆");
$aihao = array_flip($aihao);

for ($i = 0; $i < 4; $i++) {
$rn = rand(1, 3);
$result = array_rand($aihao, $rn);
$result = is_array($result) ? implode(',', $result) : $result;
echo $result . '
';
}
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.