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());
访问控制
对属性或方法的访问控制,是通过在前面添加关键字 public、protected 或 private 来实现的。由 public 所定义的类成员可以在任何地方被访问;由 protected 所定义的类成员则可以被其所在类的子类和父类访问(当然,该成员所在的类也可以访问);而由 private 定义的类成员则只能被其所在类访问。
<?php
$a = 3;
$b = 6;
if($a = 5 || $b = 7){
echo $b.'<br />';
$a++;
$b++;
}
var_dump($a, $b);
echo '<br /> $a = (5 || $b = 7)';
echo '<hr />';
$a = 3;
$b = 6;
$c = 1;
if($a = 5 || $b = 7 && $c = 10){
$a++;
$b++;
}
var_dump($a, $b,$c);
echo '<br /> && 比 || 高';
echo '<hr />';
$a = 3;
$b = 6;
$c = 1;
if($a = 0 || $b = 7 && $c = 10){
$a++;
$b++;
}
var_dump($a, $b,$c);
echo '<br /> ';
echo '<hr />';
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());
相关推荐
-
php三元运算符知识汇总
今天在改论文在线的时候遇到了一个语句看不懂: $if_summary = $row['IF_SUMMARY']==2?'是':'否'; 后来百度后发现是PHP的三元运算符 这句话的意思就等于是 if($row['IF_SUMMARY']==2){ $if_summary="是"; }else{ $if_summary="否": } 三元运算符的功能与"if...else"流程语句一致,它在一行中书写,代码非常精练.执行效率更高. 在PHP程序中恰
-
用PHP中的 == 运算符进行字符串比较
最近在Greg Beaver's的blog上发表的一篇新文章 comparing strings in PHP with the == operator 中提及了PHP的 == 运算符在对字符串进行比较时值得注意的问题. 在某些情况下,PHP会把类数值数据(如含有数字的字符串等)转换成数值处理,== 运算符就是其中之一.在使用 == 运算符对两个字符串进行松散比较时,PHP会把类数值的字符串转换为数值进行比较,下面的实验证实了这个结论:<?phpvar_dump('01' == 1);?> 以
-
PHP之浮点数计算比较以及取整数不准确的解决办法
php有意思的现象,应该是很多编程语言都会有这样的现象.这个是因为计算机的本身对浮点数识别的问题.....下面通过代码给大家展示下: $f = 0.58; var_dump(intval($f * 100 *100)); //结果5799 var_dump((float)($f * 100 *100)); //结果5800 echo (int)((0.1+0.7)*10); //结果7 echo (float)((0.1+0.7)*10); //结果8 <?php $a = 0.1; $b =
-
php中判断数组相等的方法以及数组运算符介绍
如何判断两个数组相等呢?其实很简单,用 == 或者 === 就可以了 php手册里说明如下: 那像 array('k'=>array())这样的多维数组能用如上方法判断相等吗?当然也可以. 若数组是数字索引的,就要注意一下了,见代码: 复制代码 代码如下: <?php $a = array("apple", "banana"); $b = array(1 => "banana", "0" => &quo
-
php数组比较实现查找连续数的方法
本文实例讲述了php数组比较实现查找连续数的方法.分享给大家供大家参考.具体如下: $data = array(); $data[]= array("01" ,"02", "18" , "29" , "31" , "32"); $data[]= array("02" ,"09", "11" , "22" ,
-
php中的比较运算符详解
1.对于数组 $a=array(1,2,3,6); $b=array(1,2,3,6,8); echo "\n"; var_dump( $a>$b); var_dump( $a==$b); var_dump( $a<$b); 结果: boolean false boolean false boolean true ps:具有较少成员的数组较小 $a=array(1,2,3,6,9); $b=array(1,2,3,6,8); echo "\n"; var
-
php数组操作之键名比较与差集、交集赋值的方法
本文实例讲述了php数组操作之键名比较与差集.交集赋值的方法.分享给大家供大家参考.具体方法如下: 该实例主要实现对数组的各种常见操作.如对键名比较计算数组的差集,计算差集,给指定数组中插入一个元素,反转数组与交集赋值新的数组等. 具体代码如下: 复制代码 代码如下: //定义回调函数 function key_compare_func($key1,$key2) { if($key1==$key2) //如果两参数相等 return 0; //返回0
-
PHP中浮点数计算比较及取整不准确的解决方法
浮点数计算结果比较 一则浮点数计算例子如下: 复制代码 代码如下: $a = 0.2+0.7; $b = 0.9; var_dump($a == $b); 打印出的结果是:bool(false).也就是说在这里 0.2+0.7 的计算结果与 0.9 并不相等,这显然是有违我们的常识的. 对此问题,PHP官方手册曾又说明:显然简单的十进制分数如 0.2 不能在不丢失一点点精度的情况下转换为内部二进制的格式.这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数.例如,十进制的 1/3 变
-
PHP字符串 ==比较运算符的副作用
复制代码 代码如下: $a = '212345678912000005'; $b = '212345678912000001'; var_dump($a == $b); 这段代码的输出是bool(true), 说明这样判断会得出结论是两者相等. 类似的特性在in_array()函数第3个参数为false或者不设置的情况. 原因是首先判断字符串是否是数字, 然后转换成long或者double(C语言数据类型)再判断 - 使用zendi_smart_strcmp. 但是, 源码中的注释说声明考虑了溢
-
PHP基础之运算符的使用方法
1.算术运算符:+.-.*./.%. 2.递增/递减运算符:如$a++,$a--,++$a,--$a. 如: <?php$a=10;$b=5;$c=$a++; //先赋值,后自增.$c=$a,$a=$a+1$d=$b--; //先赋值,后自减.$d=$b,$b=$a-1echo '$a='.$a."||".'$c='.$c.'<br/>'; //$a=11,$c=10echo '$b='.$b."||".'$d='.$d.'<br/>'
-
php常用字符串比较函数实例汇总
本文实例汇总了php常用字符串比较函数.分享给大家供大家参考.具体分析如下: substr_compare() 函数从指定的开始长度比较两个字符串,该函数返回: 0 - 如果两字符串相等,<0 - 如果 string1 (从开始位置)小于 string2,>0 - 如果 string1 (从开始位置)大于 string2. 语法:substr_compare(string1,string2,startpos,length,case),代码如下: 复制代码 代码如下: $str1="h
-
PHP常用特殊运算符号和函数总结(php新手入门必看)
注解符号: // 单行注解 多行注解引号的使用 ' ' 单引号,简单字符串,不经任何处理直接拿过来; " "双引号,php动态处理然后输出,一般用于处理$变量.布尔变量: 一种是true 即 真的; 另一种是false 即假的常见变量: string 字串(数字\汉字\等等) integer
-
PHP 作用域解析运算符(::)
Scope Resolution Operator (::) 今天 看joomla源码的时候,才意识到.原来这个操作符还可以访问类的非静态方法啊.真的让我吃惊不好.一直以为作用域解析运算符只能访问类的static方法和static成员变量. 如果各位不相信,下面有个简单的小测试代码可以证明这个. 复制代码 代码如下: class A{ private $_name = 'A'; function __construct(){ echo 'A construct <br />'; } funct
-
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
本文实例讲述了php字符比较函数similar_text.strnatcmp与strcasecmp用法.分享给大家供大家参考.具体如下: ① similar_text() 函数计算两个字符串的匹配字符的数目,该函数也可以计算两个字符串的相似度,以百分比计. 语法:similar_text(string1,string2,percent) 注释:levenshtein() 函数比 similar_text() 函数更快,不过,similar_text() 函数通过更少的必需修改次数提供更精确的结果
-
PHP字符串比较函数strcmp()和strcasecmp()使用总结
比较字符串是任何编程语言的字符串处理功能中重要的特性之一.在PHP中除了可以使用比较运算符号(==.<或>)加以比较外,还提供了一系列的比较函数,使PHP可以进行更复杂的字符串比较.如strcmp().strcasecmp()和strnatcmp()等函数. 1.按字节顺序进行字符串比较 要按字节顺序进行字符串的比较,可以使用strcmp()和strcasecmp()两个函数,其中函数strcasecmp()可以忽略字符串中字母的大小写进行比较.这两个函数的原型如下所示: 复制代码 代码如下:
-
php中的三元运算符使用说明
今天一个网友在群里发了个题目不难,但是可能会错 复制代码 代码如下: echo $a == 1 ? 'one' : $a == 2 ? 'two' : $a == 3 ? 'three' : $a == 4 ? 'foura' : 'other'; echo "\n"; 输出结果是: <BR> 结果是:four 一开始想不明白,按照我的理解,应该是这样的逻辑: echo ($a == 1 ? 'one' : ( $a == 2 ? 'two' : ( $a == 3 ? '
-
PHP学习 运算符与运算符优先级
算术运算符 运算符 名称 结果 $a + $b 加法 $a 和 $b 的和 $a - $b 减法 $a 和 $b 的差 $a * $b 乘法 $a 和 $b 的积 $a / $b 除法 $a 除以 $b 的商 $a % $b 取模 $a 除以 $b 的余数 递增/递减运算符 运算符 名称 结果 ++$a 前加 $a 的值
-
PHP比较运算符的详细介绍
比较运算符种类 如同它们名称所暗示的,允许对两个值进行比较.比较运算符有如下几个: 1) $a > $b 大于:如果 $a 严格大于$b,则返回TRUE 2) $a < $b 小于:如果 $a 严格小于$b,则返回TRUE 3) $a >= $b 大于等于:如果 $a 大于等于$b,则返回TRUE 4) $a <= $b 小于等于:如果 $a 小于等于$b,则返回TRUE 5) $a <> $b 不等于:如果 $a 不等于$b,则返回TRUE 6) $a != $b 不
随机推荐
- Angular.js如何从PHP读取后台数据
- 通过Unicode转义序列来加密,按你说的可以算是混淆吧
- IE浏览器PNG图片透明效果代码
- C 创建链表并将信息存储在二进制文件中读取的实例代码
- Spring实现Aware接口自定义获取bean的两种方式
- jQuery CSS3自定义美化Checkbox实现代码
- Java使用组件编写窗口实现网络图片显示
- 基于JavaScript实现瀑布流效果(循环渐近)
- asp创建表,复制表 字段类型附录
- Js 中debug方式
- centos7安装nginx的两种方法介绍
- Android仿一号店货物详情轮播图动画效果
- c#获取windows桌面背景代码示例
- C#获取进程和对进程的操作
- PHP获取当前所在目录位置的方法
- 完美解决手机网页中输入框被输入法遮挡的问题
- JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
- Spring Boot中使用JDBC Templet的方法教程
- Android用webView包装WebAPP方法
- golang实现基于channel的通用连接池详解