php用法
1. php{}用法
先看這個語句:
echo "這個是:$arr[2][3]";
意思是輸出數組變數$arr[2],然後是一個普通字元串[3]
在看下面這個語句:
echo "這個是:{$arr[2][3]}";
意思是輸出二維數組的一個元素$arr[2][3],你這里的$arr是一維數組,所以內容為空。
最後總結:
echo "這個是:$arr[2][3]";
相當於
echo "這個是:".$arr[2]."[3]";
echo "這個是:{$arr[2][3]}";
相當於
echo "這個是:".$arr[2][3];
2. php中&&和||的用法 這樣用什麼意思
a && b === if(a) { b },&&是同時必須滿足的意思。a || b === if(!a) { b },||是或者的意思。
$ckfid&&$rs=$db->get_one("SELECT * FROM $table WHERE fid='$ckfid'");
其實這句話相當於只有當$ckfid不為空的時候才執行後面的也就是約等於。
if($ckfid) {
$rs=$db->get_one("SELECT * FROM $table WHERE fid='$ckfid'");}
而底下的||,則相當於$rs[name]為空的時候才執行,因為當$rs[name]不為空的時候,這個條件已經滿足了,後邊也不用再做任何判斷了。只有不滿足的時候,才去做後面的操作。
(2)php用法擴展閱讀:
PHP的特性包括:
1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。
2. PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比,
PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。
3. PHP支持幾乎所有流行的資料庫以及操作系統。
4. 最重要的是PHP可以用C、C++進行程序的擴展!
PHP版本VC6與VC9、Thread Safe與None-Thread Safe等的區別。PHP的大版本主要分三支:PHP4/PHP5/PHP6,其中,PHP4由於太古老、對QQ支持不力已基本被淘汰,請無視PHP4。
PHP6由於基本沒有生產線上的應用,還基本只是一款概念產品,很多功能已在PHP5.3.3上實現,所以也不詳述,請無視PHP6。PHP5的版本主要分四支:PHP5.2之前的版本、PHP5.2.X、PHP5.3和日前發布的PHP5.4。
選擇版本,PHP5.2之前的版本不值得考慮,因為某些功能缺陷或者BUG。PHP5.4還處於Beta試用的版本號,非穩定版本,請無視PHP5.4。
主流PHP程序對PHP5.2.X的兼容性最好,而每次版本號的升級帶來的都是安全性和穩定性的改善,所以宜挑選最新的版本。目前PHP5.2系列最新的是PHP5.2.17。
3. 關於php中{}的使用
1.簡單句法規則(用花括弧界定變數名,適用於PHP所有版本):
$a = 'flower';
echo "She received some $as";
// 無效;字母s會被當成有效的變數名組成元素,但是這里的變數是$a
echo "She received some ${a}s"; // 有效
echo "She received some {$a}s"; // 有效;推薦的使用方法
我們希望表達的是」她收到一些花「,語境中的flower應該採用復數形式(也就是說應該在後面加上S),但是如果不對變數做任何界定的話,就會出現第一個echo的情況。顯然我們希望輸出的是$a而不是$as。那麼我們通常是怎麼來處理這個輸出的呢?
echo "She received some $a"."s";
echo "She received some ".$a."s";
// 這兩種習慣性的寫法應該沒有加花括弧的寫法簡潔明了吧?
注意:不管{是出現在$前面還是後面,只有兩者緊挨著時花括弧才會被當成是界定符號。不要在之間加空格,要不然就會被當作普通的花括弧處理
echo "She received some { $a}s";
// 輸出的結果為:She received some { flower}s
2.復雜句法規則(用花括弧界定表達式等,使用與PHP4+):
echo "有效的寫法: {$arr[4][3]}";
// 有效;界定多維數組
echo "有效的寫法: {$arr['foo'][3]}";
// 有效;當在字元串中使用多維數組時,一定要用括弧將它括起來
echo "有效的寫法: {$this->width}00";
// 有效;如果不界定的話,就會變成 $this->width00
echo "有效的寫法: {$this->value[3]->name}";
// 有效;該例演示了界定鏈式調用
echo "有效的寫法: $name: {${$name}}";
// 有效;該例演示的效果實際上是一個可變變數
echo "有效的寫法: {${getName()}}";
// 有效;該例演示了將函數的返回值作為變數名
echo "有效的下發: {${$this->getName()}}";
// 有效;該例演示了將函數的返回值作為變數名
注意1:echo "這樣寫有效嗎: {getName()}";輸出結果為:'這樣寫有效嗎:
{getName()}'。因為裡面不含$,所以花括弧不會被當作界定符
注意2:echo "這樣寫有效嗎:{$arr[foo][3]}"; 在回答這個問題前我們先來進行一個實驗:
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];
我 們發現這次沒有問題了。可以看出在字元串中數組的索引不加單引號是沒有問題的,但是如果這種寫法不是出現在字元串當中就會報錯,而對於字元串中 {$arr[foo][3]}的解析就是按照非字元串的方式解析的。所以說在字元串當中對數組只加花括弧界定而不對索引加單引號的寫法是錯誤的。因為程序 會把不加單引號的索引當作是常量來進行解析,這就產生了錯誤。正確的寫法應該是:
echo "有效的寫法: {$arr['foo'][3]}";
特 別提醒一點:echo "This is $arr[d]";這種寫法雖然能夠被程序解析,但這也僅限於數組是一維數組的情況。嚴謹的寫法應該是:echo "This is {$arr['d']}";我的學生曾經在這一點上和我爭論過,他說:既然前面一種寫法能出結果,為什麼一定要用後面一種寫法呢?那麼,我們再繼續修改一 下前面的代碼
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 {$arr[2]}
";
echo "This is {$arr['2']}
";
執行上面的代碼。結果是一樣的,為什麼會這樣呢?我只能告訴你PHP是弱類型語言,至於什麼叫弱類型語言我就不在這里多說了。自己去Google一下吧。說了這么多,那麼最能體現這些句法規則優勢的具體應用在什麼地方呢?----SQL語句
// 示例一:
$SQL1 = "select * from table where id={$_GET['id']}";
// 示例二:
$SQL2 = "select * from table where id={$this->id}";
4. php怎麼用
推薦閱讀:騰訊T3-T4標准精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個台階(持續更新)點擊此處
5. php關於<<<的用法
Heredoc技術,在正規的PHP文檔中和技術書籍中一般沒有詳細講述,只是提到了這是一種Perl風格的字元串輸出技術。但是現在的一些論壇程序,和部分文章系統,都巧妙的使用heredoc技術,來部分的實現了界面與代碼的准分離,phpwind模板就是一個典型的例子。
如下:
<?php
$name = '淺水游';
print <<<EOT
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Untitled Document</title>
</head>
<body>
<!--12321-->
Hello,$name!
</body>
</html>
EOT;
?>
1.以<<<End開始標記開始,以End結束標記結束,結束標記必須頂頭寫,不能有縮進和空格,且在結束標記末尾要有分號 。開始標記和開始標記相同,比如常用大寫的EOT、EOD、EOF來表示,但是不只限於那幾個,只要保證開始標記和結束標記不在正文中出現即可。
2.位於開始標記和結束標記之間的變數可以被正常解析,但是函數則不可以。在heredoc中,變數不需要用連接符.或,來拼接,如下:
$v=2;
$a= <<<EOF
"abc"$v
"123"
EOF;
echo $a; //結果連同雙引號一起輸出:"abc"2 "123"
3.heredoc常用在輸出包含大量HTML語法d文檔的時候。比如:函數outputhtml()要輸出HTML的主頁。可以有兩種寫法。很明顯第二種寫法比較簡單和易於閱讀。
function outputhtml(){
echo "<html>";
echo "<head><title>主頁</title></head>";
echo "<body>主頁內容</body>";
echo "</html>;
}
function outputhtml()
{
echo <<<EOT
<html>
<head><title>主頁</title></head>
<body>主頁內容</body>
</html>
EOT;
}
outputhtml();
6. php中連接符的用法「.」
.等同於其他語言里字元串操作的+
如
echo "hello "."world";
等同於
echo "hello"+"world";
同理
.= 也同於 +=
.稱作並置運算符
具體的介紹見
http://w3school.com.cn/php/php_string.asp
7. php 中!== 是幹嘛用請舉例說說吧
非恆等。就是不完全等於。比如5.0 !== 5返回true
8. php `` '' ""用法有哪些
PHP常用代碼大全,都是一些開發中常用的基礎。
9. php怎麼使用
PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。