PHP总结:几个陷阱
2016-04-11 22:59
267 查看
一、
情况1:
这里考察两个地方:
陷阱是运算符的优先,赋值运算符(=)的优先级是最低的,所以正确理解应该是 $a=(5 || $b = 7)
正确结果:true, 7
情况2:
结果:true, true, 10
二:
访问控制:
对属性或方法的访问控制,是通过在前面添加关键字 public、protected 或 private 来实现的。由 public 所定义的类成员可以在任何地方被访问;由 protected 所定义的类成员则可以被其所在类的子类和父类访问(当然,该成员所在的类也可以访问);而由 private 定义的类成员则只能被其所在类访问。
如果Foo类中为private则 ‘deeka’,'hdj’, 如果Foo类中属性不是私有则被覆盖为 ‘deeka’,'deeka’
self static类中
其它:
http
情况1:
1 2 3 4 5 6 7 8 | <?php $a = 3; $b = 6; if($a = 5||$b = 7){ $a++; $b++; } var_dump($a, $b); |
陷阱是运算符的优先,赋值运算符(=)的优先级是最低的,所以正确理解应该是 $a=(5 || $b = 7)
正确结果:true, 7
情况2:
1 2 3 4 5 6 7 8 9 | <?php $a = 3; $b = 6; $c = 1; if($a = 0 ||$b = 7 && $c = 10){ $a++; $b++; } var_dump($a, $b, $c); |
二:
访问控制:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php class Foo { private $name = 'hdj'; public function getName() { return $this->name; } } class Bar extends Foo { public $name = 'deeka'; } $bar = new Bar; var_dump($bar->name); var_dump($bar->getName()); |
如果Foo类中为private则 ‘deeka’,'hdj’, 如果Foo类中属性不是私有则被覆盖为 ‘deeka’,'deeka’
self static类中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php class A { public static function className(){ echo __CLASS__; } public static function test(){ static::className(); //~~~~~~~~ } } class B extends A{ public static function className(){ echo __CLASS__; } } B::test();//B |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php class A { public static function className() { echo __CLASS__; } public static function test() { self::className(); //~~~~~~~~~~ } } class B extends A{ public static function className(){ echo __CLASS__; } } B::test();//A |
http
1 2 3 4 5 6 7 8 9 10 | <?php //来源:http://www.oschina.net/question/1579_49262 $arg = 'T'; $vehicle = ( ( $arg == 'B' ) ? 'bus' : ( $arg == 'A' ) ? 'airplane' : ( $arg == 'T' ) ? 'train' : ( $arg == 'C' ) ? 'car' : ( $arg == 'H' ) ? 'horse' : 'feet' ); echo $vehicle;//horse |
相关文章推荐
- PHP获取时间
- PHP一些可能被忽略的基础知识
- laravel 学习笔记1
- php上传文件代码
- PHP负载均衡
- PHP.ini配置文件
- laravel常用命令
- OSX下虚拟域名问题(laravel)
- Yii之路(第七)
- php PDO链接SQL SERVER
- Yii之路(第五)
- Yii之路(第四)
- Yii之路(第三)
- PHP页面间参数传递的四种方法详解
- PHP移动文件指针ftell()、fseek()、rewind()函数总结
- php循环生成的表单如何获得其各项值案例
- PHP 和 MYSQL 开发第四版 笔记
- PHP 运行方式(PHP SAPI介绍)
- ThinkPHP框架里隐藏index.php
- 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式