草庐IT

php - 在什么场景下使用json_encode()比使用serialize()更好?

这就是我要问的全部内容。查看PHP手册,看到一个用户帖子说serialize比json_encode慢45-90%(他运行了一些基准测试)。但是“慢”到底有多慢呢?我可以找到很多“对抗”的东西,但没有一个像我这样的初学者可以涉及。我刚刚写了一个脚本,用json编码一个数组,另一个脚本解码它。我对序列化做了同样的事情。显然,这不会告诉我它们之间有任何显着差异。 最佳答案 (每次)执行10,000次,以(希望)对内存使用和CPU时间的差异有一个可衡量的想法。大多数情况下,性能方面的差异并不显着。在两种特定情况下使用JSON非常有用:返回

PHP Magic 比简单地设置类属性更快?

嗯,不完全是这样,但这里有一个例子。谁能解释一下B和C的区别?使用魔术函数动态设置值而不是简单地在属性定义中设置值如何更快?这是一些代码:[root@vm-202-167-238-17~]#cattest.php;fordinABC;doecho"------";./test.php$d;done;#!/usr/bin/phpa=5;return5;}}$a=new$className;$start=microtime(true);for($i=0;$ia;$end=microtime(true);echo(($end-$start)*1000)."msec\n";------598.

PHP 随机字符串生成器比预期更随机

我一直在使用它来对一个随机的12个字符的字符串进行性别区分://lost-in-code.com/programming/php-code/php-random-string-with-numbers-and-letters$ch="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@$%^&(){}[]+=-_/?|*#";$sc="";for($p=0;$p事实证明,实际上它可以在字符串中包含一个空格。这是没想到的!为什么会这样?它是否将下划线视为空格?它一直在导致随机(并且直到现在,无法追踪)错误。谢谢。

php - 返回或回显 View 有什么区别?返回 View 比 echo View 说话的时间更长

加载View的最佳做法是什么。文档说在此处加载Viewhttps://laravel.com/docs/5.7/views以下是我的代码:if(isset($results['status'])){$error[]=$results['msg'];$request->session()->flash('message.level','danger');$request->session()->flash('message.content',$error);}else{if(view()->exists('import.device.results')){echoview('import

php - $classInstance->title 比 $classInstance->getTitle() 快 - 为什么大多数人使用较慢的方法?

我最近一直在阅读有关如何在PHP中优化代码以实现可伸缩性的文章。我今天阅读的几篇文章都不鼓励使用其他方法来简单地从类返回对象。所以基本上,他们说:如果你有这样的类:classmyClass{public$something;publicfunctionsetSomething($val){$this->something=$val;}//functionend}//classend$myClassInstance=newmyClass;而你想获得类属性$something,你应该这样做://echo$somethingfrommyClassecho$myClassInstance->s

PHP 干预图像调整图像大小以适应最短边长宽比

如何使用InterventionImage调整图像大小保持宽高比,但使图像的最短边适合所需的调整大小比。例如调整大小以适合100x100的800x400图像将调整为200x100我试过这个:$image->resize($width,$height,function($constraint){$constraint->aspectRatio();});但它会调整最长边的大小以适应(例如100x50)。 最佳答案 设置宽度为null:$height=100;$image=Image::make('800x400.jpg')->resi

php - 如何使用比根更深的 PHP DOM 向 XML 添加新元素?

我可以在网上找到的所有关于此的示例都涉及简单地将内容添加到文档根目录中的XML文件,但我确实需要做的比这更深入。我的XML文件很简单,我有:ImageTitlewww.link.com/image.jpg我想要做的就是添加新的“项目”元素,每个元素都有一个标题和链接。我知道我需要使用PHPDOM,但我对如何对其进行编码以使其在“屏幕截图”中添加数据而不是覆盖整个文档感到困惑。我怀疑我可能也需要使用XPath,但我不知道如何使用!我从网上的例子中拼凑出来的代码是这样的(但我确定它是错误的)$newshottitle="Mynewscreenshot";$newshotlink="http

php - 在 ruby​​ 中使用 Blowfish 加密字符串返回的字符串比 php 中的相同进程更短

这让我很困惑。当我尝试使用以下输入通过Blowfish加密字符串时:key=“一些key”input="输入字符串"我得到以下结果:ruby:["79af8c8ee9220bde"]php:79af8c8ee9220bdec2d1c9cfca7b13c6我将从php应用程序接收字符串,因此我需要让这两个应用程序同步,但我不明白为什么php字符串会更长。我错过了什么?php代码:php>require_once'Crypt/Blowfish.php';php>$input="inputstring";php>$key="somekey";php>$crypt=newCrypt_Blowf

php - 为什么 echo 比 print 快?

在PHP中,为什么是echo比print快?他们做同样的事情...为什么一个比另一个快?他们做完全同样的事情吗? 最佳答案 echo和print实际上(不是技术上)是同一件事。两者之间的(几乎唯一的)区别是print将返回整数1,而echo什么都不返回。请记住,这两者实际上都不是函数,而是语言结构。echo允许您在使用它时传递多个字符串,就好像它是一个函数(例如echo($var1,$var2,$var3))。echo也可以使用语法来简写(代替)。至于哪个更快,有许多在线资源试图回答这个问题。PHPBenchmark总结说“[i]在

php - 为什么 array_values 比 foreach 更好?

为什么array_values()比foreach循环更好地重新索引数组?示例1:$arrays=[1=>'0',2=>'1',3=>'2',4=>'3',5=>'',6=>'',7=>'7',8=>[0=>'toto',1=>'manu',2=>'noé',3=>'david']];$arrayNonAssoc=[];foreach($arraysas$array){$arrayNonAssoc[]=$array;}所以示例1是不应该做的错误并且...示例2:$arrays=[1=>'0',2=>'1',3=>'2',4=>'3',5=>'',6=>'',7=>'7',8=>[0=>