php 5.5 5.6的区别有哪些
php5.5 5.6的区别有:1、php5.5中yield关键词用于当函式需要返回一个迭代器的时候, 逐个返回值;2、php5.6拥有更好的常量,定义常量时允许使用之前定义的常量进行计算。
推荐:《PHP视频教程》
PHP5.5:yield, list() 用於 foreach, 細節修改
PHP5.6: 常量增強,可變函式引數,名稱空間增強
PHP5.5
(2013起)
yield
yield關鍵字用於當函式需要返回一個迭代器的時候, 逐個返回值。
function number10() { for($i = 1; $i <= 10; $i += 1) yield $i; }
該函式的返回值是一個數組:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list() 用於 foreach
可以用 list() 在 foreach 中解析巢狀的陣列:
$array = [ [1, 2, 3], [4, 5, 6], ]; foreach ($array as list($a, $b, $c)) echo "{$a} {$b} {$c}\n";
結果:
細節修改
不推薦使用 mysql 函式,推薦使用 PDO 或 MySQLi, 參見前文。
不再支援Windows XP.
可用 MyClass::class 取到一個類的完整限定名(包括名稱空間)。
empty() 支援表示式作為引數。
try-catch 結構新增 finally 塊。
PHP5.6
更好的常量
定義常量時允許使用之前定義的常量進行計算:
const A = 2; const B = A + 1; class C { const STR = "hello"; const STR2 = self::STR + ", world"; }
允許常量作為函式引數預設值:
function func($arg = C::STR2)
更好的可變函式引數
用於代替 func_get_args()
function add(...$args) { $result = 0; foreach($args as $arg) $result += $arg; return $result; }
同時可以在呼叫函式時,把陣列展開為函式引數:
$arr = [2, 3]; add(1, ...$arr); // 結果為 6 名稱空間 名稱空間支援常量和函式: namespace Name\Space { const FOO = 42; function f() { echo __FUNCTION__."\n"; } } namespace { use const Name\Space\FOO; use function Name\Space\f; echo FOO."\n"; f(); }
以上是php 5.5 5.6的区别有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8的JIT编译通过将代码经常汇编为机器代码,从而增强了性能,从而使应用程序有益于大量计算并减少执行时间。

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。

本文讨论了PHP中的对称和不对称加密,并比较了它们的适用性,性能和安全差异。对称加密速度更快,适合大量数据,而不对称的键交换则使用。

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手
