很多時候我們需要將幾個字串連線起來顯示,在php中,字串之間使用 「點」 來連線,也就是英文中的半形句號 " . " 。" . " 是字串連線符,可以把兩個或兩個以上的字串鏈結成乙個字串。例如:
echo
'a'.
'b'.
'c';
// 輸出abc
echo
'a'.
$str1
.$str2
;//aabc123
點連線符使用起來很簡單,但實際專案中,經常還是看到有些同事犯錯,看乙個例子:
<?php
ini_set
('display_errors',1
);error_reporting
(e_all);
class
student
$class
=new
student
;$class
->
name
='zeng'
;// 示例一
echo
'***='
.isset
($class
->
***)
?$class
->
***:
'a'.
" b"
;// notice: undefined property: student::$*** in /demo/index.php on line 16
// 示例二
echo
'***='.(
isset
($class
->
***)
?$class
->
***:
'a')
." b"
;// ***=a b
示例一 提示notice錯誤,示例二能正常輸出。
示例一的執行可以解釋為,表示式不為空,執行 $class->*** ,***不是student類屬性
( '***=' . isset($class->***) )? $class->*** : ('a' . " b")
示例二中因為三元運算子 加了括號,能得到想要的結果
(isset($class->***) ? $class->*** : 'a')
舉個簡單的例子:
// 理解為:( 'result: ' . 1 ) ? 'a' : ('b' . 'c')
echo
'result: '.1
?'a'
:'b'
.'c'
;// 輸出 a
echo
'result: '.(
1?'a':
'b')
.'c'
;// 輸出 result: ac
注意:【字串運算子】的優先級別 大於 【三元運算子】,實際操作中,如果記不住優先順序順序,建議習慣性給對應的表示式加括號 易犯錯的知識點
一 var ful john var obj console.log obj.prop.getfull aure var test obj.prop.getfull console.log test john 二 settimeout settimeout第乙個引數應該是函式,如果不是函式的話,直接...
C 程式設計規範 易犯錯點
int main和if後直接接括號 之後沒有標點 for if int main 標頭檔案不加 號外,其餘所有都必須加 號 注意需要加上 號的位置 break 如break後 結構體後必須加上 號 結構體的最後乙個大括號後面需要加上 號 注意 如果if後面執行的有多條語句,必須要加上大括號。通過單步...
php一些易錯點
1.在函式外宣告的引數為global,在函式內呼叫時,需加上global x 100 function test 2.型別為弱型別,不用強制宣告其型別 3.常量使用define函式宣告,在使用時不需要加上 符號 define pi 3.1416926 echo pi 4.不僅比較值還有型別 5.fo...