首页 » PHP教程 » 有趣的php教程技巧_php的一些奇淫巧技

有趣的php教程技巧_php的一些奇淫巧技

访客 2024-11-12 0

扫一扫用手机浏览

文章目录 [+]

<?php$a=\"大众ABC\公众;$b =&$a;echo $a;//这里输出:ABC echo $b;//这里输出:ABC $b=\"大众EFG\"大众;echo $a;//这里$a的值变为EFG 以是输出EFG echo $b;//这里输出EFG ?>

函数的引用

<?phpfunction &test(){ static $b=0;//申明一个静态变量 $b=$b+1; echo $b; return $b; }}$a=test();//这条语句会输出 $b的值 为1 $a=5;$a=test();//这条语句会输出 $b的值 为2$a=&test();//这条语句会输出 $b的值 为3 $a=5;$a=test();//这条语句会输出 $b的值 为6?>

解析:用上面的例子来阐明便是 $a=test()办法调用函数,只是将函数的值赋给$a而已, 而$a做任何改变,都不会影响到函数中的$b,而通过$a=&test()办法调用函数呢, 他的浸染是 将return $b中的 $b变量的内存地址与$a变量的内存地址 指向了同一个地方 即产生了相称于这样的效果($a=&b;) 以是改变$a的值 也同时改变了$b的值 以是在实行了 $a=&test(); $a=5; 往后,$b的值变为了5

有趣的php教程技巧_php的一些奇淫巧技

这里是为了让大家理解函数的引用返回才利用静态变量的,实在函数的引用返回多用在工具中。

有趣的php教程技巧_php的一些奇淫巧技
(图片来自网络侵删)

工具的引用

<?phpclass a{ var $abc=\"大众ABC\公众;}$b=new a;$c=$b;echo $b->abc;//这里输出ABC echo $c->abc;//这里输出ABC $b->abc=\公众DEF\公众;echo $c->abc;//这里输出DEF?>

以上代码是在PHP5中的运行效果 在PHP5中 工具的复制是通过引用来实现的。
上列中$b=new a; $c=$b; 实在等效于$b=new a; $c=&$b; PHP5中默认便是通过引用来调用工具, 但有时你可能想建立一个工具的副本,并希望原来的工具的改变不影响到副本 . 为了这样的目的,PHP定义了一个分外的方法,称为__clone.

foreach ($arr as &$v) { // 一系列判断得到你想要的数据 if (...) { // 复写值为你想要的 $v['youwantbyjudge'] = 'TIGERB' } ... // 干掉你不想要的构造 unset($v['youwantdel']);}unset($v);// 末了我们得到我们的目标数组$arr

php中的匿名函数和闭包

匿名函数

php中的匿名函数(Anonymous functions), 也叫闭包函数(closures), 许可 临时 创建一个没有指定名称的函数。
常用作回调函数(callback)参数的值。

$closureFunc = function($str){echo $str; }; $closureFunc(\公众hello world!\"大众);

匿名函数的利用实现类的【

class One{ private $closure; public function __construct($closure) { if ($closure) { $this->closure = $closure(); } } public function doSomething() { if ($this->closure) { // 用的时候再实例化 // 实现

将匿名函数放在普通函数中,也可以将匿名函数返回,这就构成了一个大略的闭包 。

在匿名函数中引用局部变量,须要引用一个php的关键字 use

function closureFunc1(){ | function closureFunc2(){ $func = function(){ | $num = 1; echo \公众hello\公众; | $func = function() use($num){ }; | echo $num; $func(); | };} | $func();closureFunc1(); | }//输出: hello closureFunc2(); //输出: 1,不引用use报//Notice: Undefined variable: num

关联数组做map

如果我们在客户端做决策,常日我们会判断不同的高下文在选择不同策略,常日会利用if或者switch判断这种写法常日会涌现大量的if语句或者switch语句,常日这里可以利用一个map来映射不同的策略,像下面这样

class One{ private $map = [ 'a' => 'namespace\A', // 带上命名空间,由于变量是动态的 'b' => 'namespace\B', 'c' => 'namespace\C' ]; public function doSomething() { ... $instance = new $this->map[$strategy];// $strategy是'a'或'b'或'c' $instance->doSomething(...); ... }}

标签:

相关文章

Java代码虚拟化保护技术与应用前景

软件应用的需求日益增长,软件开发过程中对代码的保护成为了一个重要议题。Java作为一种广泛应用于企业级应用的编程语言,其代码虚拟化...

PHP教程 2025-03-02 阅读1 评论0

CAD插件错误代码与应对步骤

CAD(计算机辅助设计)软件在工程设计领域得到了广泛应用。CAD插件作为提升设计效率的重要工具,在提高设计师工作效率的也带来了一定...

PHP教程 2025-03-02 阅读1 评论0

上古卷轴代码规则大全游戏背后的编程奥秘

《上古卷轴》作为一款深受玩家喜爱的角色扮演游戏,自问世以来便以其丰富的世界观、独特的游戏体验和深厚的文化底蕴吸引了无数玩家。在这款...

PHP教程 2025-03-02 阅读1 评论0