本文目录一览:
- 1、php的错误控制运算符是不是相当于java的异常
- 2、关于php中逻辑运算符的问题
- 3、PHP语言PHP语言里的位运算符&、|、^ 、~、〈〈 、〉〉这些符号我一个也不懂,希望高手给个全面的解释!拜
- 4、php中 错误抑制运算符 怎么显示变量未定义错误
php的错误控制运算符是不是相当于java的异常
不是,@是错误抑制符号,本质是在生成的opcode中增加begin_silence将错误屏蔽,
php的异常处理也是try throw catch,php有个Exception基类。
//自定义的异常类,继承了PHP的异常基类Exception
class MyException extends Exception {
function getInfo() {
return '自定义错误信息';
}
}
try {
//使用异常的函数应该位于 "try" 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
throw new MyException('error');//这里规定如何触发异常。注意:每一个 "throw" 必须对应至少一个 "catch",当然可以对应多个"catch"
} catch(Exception $e) {//"catch" 代码块会捕获异常,并创建一个包含异常信息的对象
echo $e-getInfo();//获取自定义的异常信息
echo $e-getMessage();//获取继承自基类的getMessage信息
}
关于php中逻辑运算符的问题
我给你解释下吧 首先你用词错误or不是一个运算符,是一个函数,
|| 表示或者的意思 有一个为true就为true
or表示如过前边的为true的话这个语句就为true,如果为false就往下走,仅此而已,就像咱们链接数据库的时候总是 。。。。or (“链接数据库错误”);同样的道理
PHP语言PHP语言里的位运算符&、|、^ 、~、〈〈 、〉〉这些符号我一个也不懂,希望高手给个全面的解释!拜
"" 按位与运算
按位与运算符""是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。
例如:95可写算式如下:
00001001 (9的二进制补码)
00000101 (5的二进制补码)
00000001 (1的二进制补码)
?php
$a = 9;
$b = 5;
echo sprintf("%b", $a$b);
?
"|" 按位或运算
按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
例如:9|5可写算式如下:
00001001
|00000101
00001101 (十进制为13)可见9|5=13
?php
$a = 9;
$b = 5;
echo sprintf("%b", $a|$b)."\n"; //二进制
echo sprintf("%d", $a|$b)."\n"; //十进制
"^" 按位异或运算
按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下:
00001001
^00000101
00001100 (十进制为12)
?php
$a = 9;
$b = 5;
echo sprintf("%b", $a^$b)."\n"; //二进制
echo sprintf("%d", $a^$b)."\n"; //十进制
"~" 求反运算
求反运算符~为单目运算符,具有右结合性。其功能是对参与运算的数的各二进位按位求反。
例如~9的运算为:
~(0000000000001001)结果为:1111111111110110
?php
$a = 9;
$b = 5;
echo sprintf("%b", ~$a)."\n"; //二进制
"〈〈" 左移运算
左移运算符“”是双目运算符。其功能把“ ”左边的运算数的各二进位全部左移若干位,由“”右边的数指定移动的位数,高位丢弃,低位补0。
例如:
a4
指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。
?php
$a = 3;
$temp = $a4;
echo sprintf("%d", $temp)."\n"; //十进制
“” 右移运算
右移运算符“”是双目运算符。其功能是把“ ”左边的运算数的各二进位全部右移若干位,“”右边的数指定移动的位数。
例如:
设 a=48,
a4
表示把00110000右移为00000011(十进制3)。
应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定
?php
$a = 48;
$temp = $a4;
echo sprintf("%d", $temp)."\n"; //十进制
php中 错误抑制运算符 怎么显示变量未定义错误
梦行回答PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
如果激活了 track_errors 特性,表达式所产生的任何错误信息都被存放在变量 $php_errormsg 中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。
当将@放在一个PHP表达式之前时,这个表达式可能产生的任何警告信息都将被忽略掉。但是使用 错误控制运算符@是需要注意,它只对表达式有效。说得容易懂一点就是:如果从一个地方得到了一个值,我们就可以将@话在它的前面。比方说,把@话在变量、常量和函数调用的前面。值得大家注意的是,不能把这个错误控制运算符@放在函数或者是类的定义之前,也不可以用在条件结构等。