仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 994|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网站制作之PHP 5.4 由Arnaud 引入了一个对三元式的...

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:34:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不可能吃饭的时候咬了自己一下舌头就从此不吃饭了不是?放下畏惧,继续努力,咱们是来征服它的,而不是被它征服的,振奋起来吧同志。     
  咱们都晓得PHP用写时复制来对变量复制做功能优化, 而在之前的三元式中, 却每次城市复制, 这在操作数是大数组的情形下, 会形成功能成绩:
  <?php
$a = range(1, 1000);
$i = 0;

$start = microtime(true);
while (++$i < 1000) {
$b = isset($a)? $a : NULL;
}

var_dump(microtime(true) - $start);
比拟, 咱们采取if-else来做一样的功效:
  <?php
$a = range(1, 1000);
$i = 0;

$start = microtime(true);
while (++$i < 1000) {
if (isset($a)) {
$b = $a;
} else {
$b = NULL;
}
}
var_dump(microtime(true) - $start);
前者在我的机械上, 运转工夫为: float(0.0448620319366), 而采取if-else则是: float(0.000280006027222)
  为此, Arnaud供应了一个patch, 来对三元式做了一个优化, 使得三元式不会每次都复制操作数, 在优化今后, 开首给的例子的运转工夫下降为: float(0.00029182434082031)
  The ternary operator always copies its second or third operand, which is very
slow compared to an if/else when the operand is an array for example:
  $a = range(0,9);
  // this takes 0.3 seconds here:
  for ($i = 0; $i < 5000000; ++$i) {
if (true) {
$b = $a;
} else {
$b = $a;
}
}
  // this takes 3.8 seconds:
  for ($i = 0; $i < 5000000; ++$i) {
$b = true ? $a : $a;
}
  I've tried to reduce the performance hit by avoiding the copy when possible
(patch attached).
  Benchmark:
  Without patch: (the numbers are the time taken to run the code a certain
amount of times)
  $int = 0;
$ary = array(1,2,3,4,5,6,7,8,9);
  true ? 1 : 0 0.124
true ? 1+0 : 0 0.109
true ? $ary : 0 2.020 !
true ? $int : 0 0.103
true ? ${'ary'} : 0 2.290 !
true ?: 0 0.091
1+0 ?: 0 0.086
$ary ?: 0 2.151 !
${'var'} ?: 0 2.317 !
  With patch:
  true ? 1 : 0 0.124
true ? 1+0 : 0 0.195
true ? $ary : 0 0.103
true ? $int : 0 0.089
true ? ${'ary'} : 0 0.103
true ?: 0 0.086
1+0 ?: 0 0.159
$cv ?: 0 0.090
${'var'} ?: 0 0.089
  The array copying overhead is eliminated. There is however a slowdown in some
of the cases, but overall there is no completely unexpected performance hit as
it is the case currently.
  不外, 仍是要提示下: PHP 5.4还处于开辟阶段, 在终究release之前, 任何新特征都能够被调剂或更改. 假如人人有任何建议, 也接待反应, 匡助咱们使得PHP变得更好.
  感谢
给你的建议是,有些最常用的语句是需要记住的 比如if for while这些、其他的一般语句你只要知道有这个函数或者有这个功能就可以了,当你用的时候你可以凭借记忆搜索就可以了。
柔情似水 该用户已被删除
沙发
发表于 2015-2-4 02:22:29 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
精灵巫婆 该用户已被删除
板凳
发表于 2015-2-8 04:13:28 | 只看该作者
当然这种网站的会员费就几十块钱。
深爱那片海 该用户已被删除
地板
发表于 2015-2-9 21:13:46 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-13 04:40:07 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
变相怪杰 该用户已被删除
6#
发表于 2015-3-2 22:52:35 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
活着的死人 该用户已被删除
7#
发表于 2015-3-7 02:09:57 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
只想知道 该用户已被删除
8#
发表于 2015-3-11 12:52:02 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
蒙在股里 该用户已被删除
9#
发表于 2015-3-15 10:28:59 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
飘灵儿 该用户已被删除
10#
发表于 2015-3-23 18:27:07 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
海妖 该用户已被删除
11#
发表于 2015-4-1 20:08:41 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
爱飞 该用户已被删除
12#
发表于 2015-4-6 19:08:58 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
admin 该用户已被删除
13#
发表于 2015-4-8 00:46:28 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
山那边是海 该用户已被删除
14#
发表于 2015-4-12 15:55:42 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
简单生活 该用户已被删除
15#
发表于 2015-4-16 17:11:54 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
小妖女 该用户已被删除
16#
发表于 2015-4-20 20:26:52 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
金色的骷髅 该用户已被删除
17#
发表于 2015-4-26 05:09:12 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
透明 该用户已被删除
18#
发表于 2015-4-29 18:30:53 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
乐观 该用户已被删除
19#
发表于 2015-6-8 07:34:32 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
灵魂腐蚀 该用户已被删除
20#
发表于 2015-7-3 15:30:38 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-30 08:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表