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帮助文档的内容,实在看不出来该怎么改了,希望大家能指点指点,谢谢。
回复讨论(解决方案)
array_rand() 返回的是数组中随机元素的键名
改成下面这样:
//$result=array_rand($aihao,count($rn));$result=$aihao[array_rand($aihao,count($rn))];
1.$aihao这个变量既然不被修改,应该定义在循环之外
2.查了下手册,array_rand返回的是随机键而不是值,你定义$aihao没有指定键,那就是0,1,2了
3.$rn本身就是想要一个随机个数,为什么还要加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 />';}
array_rand() 函数从数组中随机选出一个或多个元素,如果选出的元素不止一个,则返回包含随机键名的数组,否则返回该元素的键名。
<?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楼大神的结果测试成功了,分给他了,非常感谢您认真的回复,抱歉占用您的时间为我解决问题,非常感谢!对不起啊。
把rand的参数 换成 数组的长度应该更好一点。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.
