1樓:千鋒教育
1.簡單句法規則(用花括號界定變數名,適用於php所有版本):
$a = 'flower';
echo "she received some $as";
// 無效;字母s會被當成有效的變數名組成元素,但是這裡的變數是$a
echo "she received some $s"; // 有效
echo "she received some s"; // 有效;推薦的使用方法
我們希望表達的是」她收到一些花「,語境中的flower應該採用複數形式(也就是說應該在後面加上s),但是如果不對變數做任何界定的話,就會出現第乙個echo的情況。顯然我們希望輸出的是$a而不是$as。那麼我們通常是怎麼來處理這個輸出的呢?
echo "she received some $a"."s";
echo "she received some ".$a."s";
// 這兩種習慣性的寫法應該沒有加花括號的寫法簡潔明瞭吧?
注意:不管s";
// 輸出的結果為:she received some s
2.複雜句法規則(用花括號界定表示式等,使用與php4+):
echo "有效的寫法: ";
// 有效;界定多維陣列
echo "有效的寫法: ";
// 有效;當在字串中使用多維陣列時,一定要用括號將它括起來
echo "有效的寫法: 00";
// 有效;如果不界定的話,就會變成 $this->width00
echo "有效的寫法: ";
// 有效;該例演示了界定鏈式呼叫
echo "有效的寫法: $name: }";
// 有效;該例演示的效果實際上是乙個可變變數
echo "有效的寫法: }";
// 有效;該例演示了將函式的返回值作為變數名
echo "有效的下發: }";
// 有效;該例演示了將函式的返回值作為變數名
注意1:echo "這樣寫有效嗎: ";輸出結果為:'這樣寫有效嗎:
'。因為裡面不含$,所以花括號不會被當作界定符
注意2:echo "這樣寫有效嗎:"; 在回答這個問題前我們先來進行乙個實驗:
error_reporting(e_all);
$arr = array('a', 'b', 'c', 'd'=>'e');
echo "this is $arr[d]";
// 我們發現這樣寫是沒有問題的,那麼我們像下面這樣寫呢?
echo $arr[d];
產生了這樣的錯誤:
notice: use of undefined constant d - assumed 'd'
注意:採用了未定義的常量d,可能應該為'd'
那麼如果我們像下面這樣修改一下**的話
error_reporting(e_all);
$arr = array('a', 'b', 'c', 'd'=>'e');
define('f', 'd');
echo $arr[f];
我 們發現這次沒有問題了。可以看出在字串中陣列的索引不加單引號是沒有問題的,但是如果這種寫法不是出現在字串當中就會報錯,而對於字串中 的解析就是按照非字串的方式解析的。所以說在字串當中對陣列只加花括號界定而不對索引加單引號的寫法是錯誤的。
因為程式 會把不加單引號的索引當作是常量來進行解析,這就產生了錯誤。正確的寫法應該是:
echo "有效的寫法: ";
特 別提醒一點:echo "this is $arr[d]";這種寫法雖然能夠被程式解析,但這也僅限於陣列是一維陣列的情況。嚴謹的寫法應該是:
echo "this is ";我的學生曾經在這一點上和我爭論過,他說:既然前面一種寫法能出結果,為什麼一定要用後面一種寫法呢?那麼,我們再繼續修改一 下前面的**
error_reporting(e_all);
$arr = array('a', 'b', 'c',
'd'=>array('e'=>'f')
);echo "this is $arr[d][e]";
這樣還能夠被正確解析嗎?我只想告訴你,加花括號是嚴謹的必要的。
注意3:
error_reporting(e_all);
$arr = array('a', 'b', 'c', 'd');
echo "this is
";echo "this is
";執行上面的**。結果是一樣的,為什麼會這樣呢?我只能告訴你php是弱型別語言,至於什麼叫弱型別語言我就不在這裡多說了。
自己去google一下吧。說了這麼多,那麼最能體現這些句法規則優勢的具體應用在什麼地方呢?----sql語句
// 示例一:
$sql1 = "select * from table where select * from table where 你好啊,$a";
但如果 $aaa = "你好啊,$ado you eat..."; 後面必須跟"do you eat"字元,且不能空格。
老辦法的話,會變成 $ado的變數。
一種做法就是 $aaa = "你好啊,$a「.」do you eat...";
另一種就是你寫的這個 $aaa = "你好啊,do you eat...";
所以你上面的例子中。第乙個 $a = "1 + 2"; 第二個 $a = "3";
親,記得加好評哦。呵
3樓:
哪來這麼蛋疼的問題,要用{}自己字函式好了
4樓:匿名使用者
要得到3 直接$a=($b+$c);
<?php { ?> ……<?php } ?>中的{ }是什麼作用?謝謝
5樓:懷夢者
就是乙個說明運算順序和解釋函式整體的作用
php中關於&& || or 的用法???
6樓:虎爺可樂
說錯了, && 和 and, || 和 or 是分別相同的,只是 and 和 or 運算優先順序低,比 = 還低。
// 以下兩行內完全一樣容
$a = ($b && $c);
$a = ($b and $c);
// 以下兩行不一樣了
$a = $b && $c;
$a = $b and $c;
// 實際上相當於這樣:
$a = ($b && $c);
($a = $b) and $c;
// or 同理
在看看你的題意:
&& 相當於 if(a)b; 而 || 相當於 if(!a)b;
也就是說 && 要 a 為真才執行,而 || 是要 a 為假才執行。
如果用 and 和 or,就要注意,賦值 = 的時候 想要的到底是什麼樣的值
7樓:匿名使用者
||&& : 與運算 ,兩都都du
為true時值才會是
zhitrue,值是bool型
|| :或運算,兩都只要dao乙個為true那麼值版就是權true,值是bool型
or : 邏輯運算 0 or 1 那乙個值為真是那麼就返回該值,不是bool型
8樓:八方**
php中&&與&的區別:
1、運算子性質的區別
&&在php中是乙個邏輯操作符,也叫條內件操作符。
容&是邏輯語言,邏輯上表示兩者屬於缺一不可的關係,還可以表示乙個人和另外乙個人之意,與and同義。如a&b,表示a與b,a和b,a×b。
2、作用上的區別
&&就是判斷兩個表示式的真假性,只有兩個表示式同時為真才為真,有乙個為假則為假,具有短路性質。
&是將兩個二進位制的數逐位相與,結果是相與之後的結果。
3、用途上的區別
&&:x&&y——功能描述: 「條件與」:
x和y均為true,取值是true,否則取值是false。&&需要兩個運算元的值都是true時,才取值true,但是兩個操作符還是有區別的:使用方法是int&& rx=x。
&:是乙個位運算子。參加運算的兩個數的二進位制形式,每乙個二進位制位進行」與「運算,最後的結果二進位製作為結果,例如:
3 & 5=1,因為3和5的二進位制分別是0011、0101,兩個進行與運算的結果是0001。
php中的{$value}有什麼作用
9樓:匿名使用者
在變數間接引copy用中進行bai定界,避免歧du義。
$value = 'hello world';
echo "say:$valuess"; //錯誤echo "say:$value ss"; //多了個zhi空格echo "say:
ss"; //正確dao$arr = ['say' => 'hello world'];
echo "say:$arr['say']"; //錯誤echo "say:"; //正確
【高分】php中 ${"".$i}的作用
10樓:陽光上的橋
當$i的值為1、bai2、3等的時候du,$的含義實際上就zhi是$voteitem1、$voteitem2$voteitem3等,請看例子代dao碼:版
<?php
$a1='111';
$a2='222';
for ($i=1;$i<=2;$i++)."
\n";
}?>
輸出:111
222這下權明白了吧。
關於php中雙引號的巢狀,關於PHP中雙引號的巢狀
echo 這個語句是顯示字串和變數內容相疊加的一種寫法。echo 這個雙引號是php程式直接認定的 php 這句話在html中列印完成的樣子是 因為在php中採用了雙引號做字串的引號,那麼其中想輸出雙引號,就要使用 的方式,這樣,這個雙引號就被php認為是字串,而非php功能性的引號了。當然,還有很...
php中n是如何使用的,php中 n是什麼意思 ?
幻翼高達 2 在index.php中,輸入 echo nl2br hello nworld 3 瀏覽器執行index.php頁面,此時hello和world中間被換行了。 說實話如果一個 的前臺都是注入漏洞,那麼憑經驗,萬能密碼進後臺的機率基本上是 百分之百。可是有的人說對php的站如果是gpc魔術...
php類中定義了函式怎麼使用它,php類中定義了一個函式,怎麼使用它?
峰迴路轉 php類中定義的函式有幾種,例如 class a 受保護的方法 protected function test2 靜態方法 static function st 私有方法 private function test3 內部訪問 public function use 外部呼叫方法 a ne...