昨日 PHP に触れたので、要件を作りたいと思います。PHP コードを通じて、ランダムな数の値をランダムに生成し、データベースに挿入できます。構造は次のとおりです。
テーブル名:テスト
フィールド名: ユーザー 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);}
array_rand() は配列内のランダムな要素のキー名を返します
以下のように変更します:
//$result=array_rand($aihao,count($rn));$result=$aihao[array_rand($aihao,count($rn))];
1. 変数 $aihao が存在しないためマニュアルを確認したところ、array_rand はキーを指定せずに $aihao を定義すると、値の代わりにランダムなキーを返すことがわかりました。 $aihao は、0、1、2 になります。 rn 自体はランダムな値 Number を必要としていますが、なぜ count を追加する必要があるのでしょうか?
4.$result は、複数の値があり、SQL ステートメントに直接書き込むことができない場合の配列です
<?php$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 . '<br />';}
<?php header("Content-type:text/html;charset=utf-8"); $aihao=array("吃饭","睡觉","打豆豆"); $aihao=array_flip($aihao); $arr=array_rand($aihao,rand(1,3)); $rs=is_array($arr)?implode(',',$arr):$arr; //echo $sql;?>
<?php header("Content-type:text/html;charset=utf-8"); $aihao=array("吃饭","睡觉","打豆豆"); $aihao=array_flip($aihao); $arr=array_rand($aihao,rand(1,3)); $rs=is_array($arr)?implode(',',$arr):$arr; //echo $sql;?>
兄さん、申し訳ありませんが、2階のマスターの結果に従ってテストに成功し、彼に割り当てました。問題を解決するために時間を割いてしまい、誠にありがとうございます。ごめん。