草庐IT

static-mt

全部标签

php - mt_rand() 总是给我相同的数字

这个函数总是有问题,我的mt_rand()给我相同的数字:$hex='f12a218a7dd76fb5924f5deb1ef75a889eba4724e55e6568cf30be634706bd4c';//ieditthisstringforeachrequest$hex=hexdec($hex);mt_srand($hex);$hex=sprintf("%04d",mt_rand('0','9999'));$hex总是在变化,但结果总是相同的4488。编辑$hex=str_split($hex);$hex=implode("",array_slice($hex,0,7));mt_sr

php - static 关键字对常量有影响吗?

classA{constFOO=1;}classBextendsA{constFOO=5;functionfoo(){printself::FOO;printstatic::FOO;}}$b=newB;$b->foo();两种情况下都打印5。那么在常量上使用static与self没有区别吗? 最佳答案 在LateStaticBinding的上下文中有区别。考虑这段代码:bar();//15如果您运行这段代码,输出将是:15当引用self::FOO时,打印1的值(即使bar()是在类上调用的B,但是当使用static关键字时,后期静态

php - 助手类 : Static or non-static functions

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。当创建一个包含从字符串中去除空格等方法的辅助类时,您是将这些方法创建为static函数还是非static函数?另外,如果静态方法要调用类中的另一个函数do_magic(),该函数应该如何定义为(静态还是非静态?)我们是否必须使用self::?classHelper{publicstaticstrip_whitespace(){//dosomemagicse

php - 错误 :should not be called statically, 假设 $this 来自不兼容的上下文。只在我的机器上

我的团队成员在Controller中静态编写了模型函数调用,例如:$data=ModelName::functionName($param);虽然它应该被动态调用,例如:$model=newModel();$data=$model->functionName($param);大多数情况下,所有调用都是静态进行的。该代码在服务器和除我之外的本地计算机上运行。如果不重写庞大的代码库,静态调用太多无法修复。我总是通过composer更新我的项目。我的php版本是5.4。有人可能知道这是关于什么的吗? 最佳答案 您可能在运行PHP时报告了E

javascript - PHP mt_rand 真的是随机的还是可能有偏见?

我在我的网站上用类似的东西做了两个基本的A-B-C测试if(mt_rand(0,2)==0){//THROWINREHERE}elseif(mt_rand(0,2)==1){//THROWINLRHERE}else{//THROWINLBHERE}我原以为这三种情况发生的频率相同(占所有网页浏览量的33.3%)。然而,印象(由GoogleAdsense衡量)显示出非常不同的分布。有趣的是,两个测试(下面的两个图表)都显示出相似的模式:LB出现最多,然后是RE,然后是LR。样本量有数千,因此随机发生这种情况的可能性实际上为零。我是不是误解了mr_rand()?有人知道它是否经过适当测试吗

php - 为什么 Eclipse 反对 `static::$var` ?

我在PHP类中有以下静态函数:staticfunction__callStatic($method,$args){$called=NULL;if(empty(static::$collection))static::slurp();if(method_exists(static::$objtype,$method)){foreach(static::$collectionas$obj){$called[]=call_user_func_array(array($obj,$method),$args);}}elseif(property_exists(static::$objtype,$

php - 如果 PHP 的 mt_rand() 使用比 rand() 更快的算法,为什么不直接更改 rand() 以使用更新的实现呢?

随机数函数的目的是获得(您猜对了)一个随机数,这是您无法预测(或者很难准确预测)的东西。如果mt_rand()函数比旧的rand()更快且更不可预测(更“随机”),为什么不将底层实现切换到新方法呢?换句话说,如果/因为底层实现发生变化,哪种使用rand()的程序会在更高版本的PHP中中断? 最佳答案 主要是因为那是PHP方式。就像他们添加了mysql_real_escape_string而不是用它替换mysql_escape_string一样。然而,这也可能与mersenne-twister算法的缺点有关(我不知道它们是否也存在于r

php - 一个 5 位数的 mt_rand() 数字有多独特?

我只是想知道,如果您抽取5位数字,mt_rand()数字有多独特?在这个例子中,我试图用这个函数得到一个包含500个随机数的列表,其中一些是重复的。http://www.php.net/manual/en/function.mt-rand.php可能需要多少位数才能确保循环中抽取的前500个随机数是唯一的? 最佳答案 如果数字真的是随机的,那么数字就有可能重复出现。有多少位数并不重要-添加更多位数可以大大降低重复的可能性,但总是有可能。你最好检查是否有冲突,然后循环直到没有冲突:$uniques=array();for($i=0;$

php - php 中的 static 行为异常,无法接受函数

此代码抛出解析错误,我不明白为什么。functiont(){return'g';}functionl(){static$b=t();return$b;}l();问题是,为什么? 最佳答案 引用手册:Note:Tryingtoassignvaluestothese[static]variableswhicharetheresultofexpressionswillcauseaparseerror.(我的重点)比较http://www.php.net/manual/en/language.variables.scope.php示例#7

php - 逻辑异常错误 : Passed array does not specify an existing static method

请问我的autoloader类/函数与spl_autoload_register有任何错误吗?感谢您的帮助。这是我的代码我得到了这个错误Fatalerror:Uncaughtexception'LogicException'withmessage'Passedarraydoesnotspecifyanexistingstaticmethod(class'core'notfound)'inC:\xampp\htdocs\test\system\core.php:14Stacktrace:#0C:\xampp\htdocs\test\system\core.php(14):spl_auto