PHP将随机单词存储在字符串中以供多次使用 公共函数生成器域字符串($length=16){ $characters='0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz'; $charactersLength=strlen($characters); $randomString=''; 对于($i=0;$igenerateRandomString()并反复使用此变量,而不改变其值。如何执行此操作?
我正在寻找一种将其存储在变量中的方法。例如:PHP将随机单词存储在字符串中以供多次使用 公共函数生成器域字符串($length=16){ $characters='0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz'; $charactersLength=strlen($characters); $randomString=''; 对于($i=0;$igenerateRandomString()并反复使用此变量,而不改变其值。如何执行此操作?,php,Php,我正在寻找一种将其存储在变量中的方法。例如:$random=$this->generateRandomString()并反复使用此变量,而不改变其值。如何执行此操作?在类中创建属性: public function generateRandomString($length = 16) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $charactersLength
$random=$this->generateRandomString()
并反复使用此变量,而不改变其值。如何执行此操作?在类中创建属性:
public function generateRandomString($length = 16) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
Class-MyClass{
私人$myRandomString;
公共函数生成器域字符串($length=16){
$characters='0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz';
$charactersLength=strlen($characters);
$randomString='';
对于($i=0;$i<$length;$i++){
$randomString.=$characters[rand(0,$charactersLength-1)];
}
返回$randomString;
}
公共函数生成(){
$this->myRandomString=$this->generateRandomString();
}
公共函数fetchRandomString(){
返回$this->myRandomString;
}
}
$myClass=新的myClass();
$myClass->generate()//将随机值放入'private$myRandomString'中`
$myValue=$myClass->fetchRandomString()//返回创建的随机字符串
$myAnotherValue=$myClass->fetchRandomString()//返回创建的随机字符串(值仍然相同)
以下是功能调用较少的修订版
Class MyClass {
private $myRandomString;
public function generateRandomString($length = 16) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
public function generate() {
$this->myRandomString = $this->generateRandomString();
}
public function fetchRandomString(){
return $this->myRandomString;
}
}
$myClass = new MyClass();
$myClass->generate(); //Puts the random value in `private $myRandomString`
$myValue = $myClass->fetchRandomString(); //Returns the random string created
$myAnotherValue = $myClass->fetchRandomString(); //Returns the random string created (still same value)
类号发电机{
私人$length=16;
私有$myRandomString=null;
函数构造($length){
$this->length=$length;
}
公共函数GeneratorAndomString(){
$characters='0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz';
$charactersLength=strlen($characters);
$randomString='';
对于($i=0;$i<$this->length;$i++){
$randomString.=$characters[rand(0,$charactersLength-1)];
}
返回$randomString;
}
公共函数fetchRandomString(){
如果($this->myRandomString===null){
$this->myRandomString=$this->generateRandomString();
}
返回$this->myRandomString;
}
}
//用法
$myClass=新的发电机编号(16);
$randomStr=$myClass->fetch随机ingString();
echo$str//输出示例:cqualeylzxlbwpdw
在类中设置属性,public$this->random
您可以使用file、db、memcache、redis或我的开源项目到底是什么问题?调用函数?将其返回值赋给变量?保持这个变量不变?跨多个请求持久化该变量?将值存储在全局变量中创建一个局部静态变量,并仅在第一次调用时执行生成。在连续调用中,只需返回该变量
class NumberGenerator {
private $length = 16;
private $myRandomString = null;
function __construct($length){
$this->length = $length;
}
public function generateRandomString() {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $this->length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
public function fetchRandomString(){
if($this->myRandomString === null){
$this->myRandomString = $this->generateRandomString();
}
return $this->myRandomString;
}
}
//usage
$myClass = new NumberGenerator (16);
$randomStr = $myClass->fetchRandomString();
echo $randomStr; //example output: CqaLEYILzxLbWPDw