本文目錄一覽:
- 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表達式之前時,這個表達式可能產生的任何警告信息都將被忽略掉。但是使用 錯誤控制運算符@是需要注意,它只對表達式有效。說得容易懂一點就是:如果從一個地方得到了一個值,我們就可以將@話在它的前面。比方說,把@話在變量、常量和函數調用的前面。值得大家注意的是,不能把這個錯誤控制運算符@放在函數或者是類的定義之前,也不可以用在條件結構等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/302907.html