語言與語言之間都會有相似的語法,也有它獨有的語法。所以本節(jié)還是得記錄一下 PHP 的基礎(chǔ)語法~
一、PHP 標(biāo)記
PHP 也是通過標(biāo)記來識別的,像 JSP 的 <% %> 的一樣,PHP 的最常用的標(biāo)記是:<?php php 代碼 ?> 。
以 “<?” 開始,“?>”結(jié)束。
該風(fēng)格是最簡單的標(biāo)記風(fēng)格,默認(rèn)是禁止的,可以通過修改 short_open_tag 選項來允許使用這種風(fēng)格。
[捂臉哭] 我們其實目前不需要去配置這個風(fēng)格哈,老老實實用 <?php php 代碼 ?> 就夠了~
二、基礎(chǔ)語法
1. PHP 語句都以英文分號【;】結(jié)束。
2. PHP 注釋
大體上有三種:
<?php
/*
多行注釋
*/
echo "string";// 單行注釋
echo "string";# 單行注釋
?>
sublime text 3 神奇快捷鍵:ctrl shift d => 復(fù)制當(dāng)前行到下一行
3. 輸出語句:echo
<?php
echo "string";
echo("string");
?>
PHP 可以嵌套在 HTML 里面寫,所以也可以輸出 HTML、CSS、JavaScript 語句等。
<font id="testPhpJs"></font>
<?php
echo "<style type='text/css'>#testPhpJs {color: red}</style>";
echo "<h1>一級標(biāo)題</h1>";
echo "<script>var font = document.getElementById('testPhpJs');font.innerText='php輸出js填充的文字';</script>";
?>
<input type="text" name="test" value="<?php echo "123"; ?>">
網(wǎng)頁輸出結(jié)果:

4. 變量及變量類型
PHP 的類型有六種,整型、浮點型、字符串、布爾型、數(shù)組、對象。
但是定義的方式只有一種:$ 變量名。PHP 變量的類型會隨著賦值的改變而改變(動態(tài)類型)
<?php
$variable = 1; //整型
$variable = 1.23; //浮點型
$variable = "字符串"; //字符串 ""
$variable = '字符串'; //字符串 ''
$variable = false; //布爾型
?>
特殊的變量(見附錄)。
5. 字符串
關(guān)于字符串,我們還有幾點需要說的:
a. 雙引號和單引號
這兩者包起來的都是字符串:'阿'、"阿"。注意單引號里不能再加單引號,雙引號里不能再加雙引號,實在要加的話記得用轉(zhuǎn)義符 “ \”
b. 定界符
如果想輸出很大一段字符串,那么就需要定界符來幫忙。定界符就是由頭和尾兩部分。
<?php
echo <<<EOT
hello world!
lalala~
EOT;
// 這個定界符的尾巴和前面<<<后面的字符應(yīng)該一樣
// !定界符的尾巴必須靠在最左邊
?>
定界符的名字是自己起的,樂意叫啥就叫啥,但是它的尾巴必須靠在最左邊,不能有任何其他的字符!空格也不行:
<?php
//定界符的名字隨便起
echo <<<ERROR
ERROR;
//但是尾巴必須靠左,前面不能有任何東西。比如這樣就是錯的 ↑
?>
看!上面這個注釋都變成綠色了~ 它都報錯了,大家寫的時候可不能這么寫哦~O(∩_∩)O哈哈~
6. 字符串連接
不同于 Java 的 “+” 號連接符,PHP 用的是點【.】。在做數(shù)據(jù)庫查詢語句的時候,常會遇到要與變量拼接的情況。這里給個小技巧:
在數(shù)據(jù)庫相關(guān)軟件中先用一個數(shù)據(jù)例子寫好查詢語句,并測試直到執(zhí)行成功:

然后將數(shù)據(jù)換成變量:
將 sql 語句用字符串變量存儲。
將寫死的數(shù)據(jù)換成兩個雙引號
在雙引號中間加兩個連接符 點【.】
在連接符中間將變量放入
<?php
$isbn = "9787508353937";//存儲isbn的變量
$sql = "SELECT * FROM bookinfo WHERE isbn = '9787508353937'";
// $sql = "SELECT * FROM bookinfo WHERE isbn = '""'";
// $sql = "SELECT * FROM bookinfo WHERE isbn = '".."'";
$sql = "SELECT * FROM bookinfo WHERE isbn = '".$isbn."'";
//修改完成
?>
保證不會出錯哈哈(這個多用于數(shù)據(jù)庫的增刪改查,避免 sql 語句的錯誤)
7. 表單數(shù)據(jù)
表單在提交數(shù)據(jù)的時候,method 有兩種方式:post & get。所以 PHP 有幾種不同的方式來獲取表單數(shù)據(jù):
<?php
$_POST['表單控件名稱'] //對應(yīng)POST方式提交的數(shù)據(jù)
$_GET['表單控件名稱'] //對應(yīng)GET方式提交的數(shù)據(jù)
$_REQUEST['表單控件名稱'] //同時適用于兩種方式
?>
8. 運算符
運算符和其他語言基本一致,如果不了解的可以去看看我的 java 運算符(https://blog.csdn.net/ahanwhite/article/details/89461167)。
但這里還是有一個比較特殊的:
字符串連接賦值:【.=】
<?php
$str = "這是連接";
$str .= "字符串的運算符";
// 那么現(xiàn)在的$str = "這是連接字符串的運算符";
?>
9. 分支與選擇
同樣和其他語言差別不大,有興趣可以看我的 java 控制語句(https://blog.csdn.net/ahanwhite/article/details/89461652)
10. PHP 函數(shù)
PHP 的函數(shù)和 Java 還是有點兒區(qū)別,定義的格式:
<?php
function 函數(shù)名($參數(shù)) {
函數(shù)體;
}
?>
a. 函數(shù)參數(shù)可以為空
b. 如果需要修改函數(shù)的值,可以使用引用參數(shù)傳遞,但是需要在參數(shù)前面加上【&】
c. 函數(shù)的參數(shù)可以使用默認(rèn)值,在定義函數(shù)是參數(shù)寫成: $ 參數(shù) =“默認(rèn)值”; 即可。(默認(rèn)值又叫缺省值)。
<?php
//改變參數(shù)變量的值
function myName(&$name) {
$name = "baibai";
echo $name;
}
$name = "huanhuan";
myName($name);
//設(shè)置默認(rèn)參數(shù)值
function myName2($name="baibai") {
echo "<br>".$name;
}
//不傳參測試默認(rèn)值
myName2();
?>
輸出結(jié)果:
d. PHP 也有一些自己的系統(tǒng)函數(shù)(比如 echo),這里再列幾個常用的字符串函數(shù):
- 字符串長度計算
$a = mb_strlen("abdsd");
$b = mb_strlen("lalalal",'UTF-8')
我一般用后面這個,按 utf-8 編碼計算長度。
- 在一個字符串中查找另一個字符串
strstr(字符串1,字符串2)
補充一個函數(shù) var_dump() 【實名感謝石老師】
用來判斷一個變量的類型與長度, 并輸出變量的數(shù)值, 如果變量有值輸?shù)氖亲兞康闹挡⒒胤禂?shù)據(jù)類型. 此函數(shù)顯示關(guān)于一個或多個表達(dá)式的結(jié)構(gòu)信息,包括表達(dá)式的類型與值。數(shù)組將遞歸展開值,通過縮進(jìn)顯示其結(jié)構(gòu)。
<?php
$a = strstr("asgduiashufai","dui");
$b = strstr("asgduiashufai","?");
echo var_dump($a);
echo "<br>";
echo var_dump($b);
?>
如果存在前面的字符串里存在后面的字符串,那么會返回字符串 2 以及在字符串 1 里后面的所有字符。如果不存在,就會返回 false(但是不能直接輸出,直接輸出好像是空值,判斷一下再輸出提示信息會比較好)

- 按照 ASCII 碼比較兩個字符串大小
strcmp("字符串1","字符串2")
//1比2打,返回大于0,2比1打,返回小于0,一樣大的話返回等于0
- 將 html 標(biāo)記作為字符串輸出
htmlspecialchars("字符串")
- 改變字符串大小寫
strtolower("字符串");//將字符串全變成小寫
strtoupper("字符串");//將字符串全變成大寫
- 加密函數(shù)
md5() 將一個字符串進(jìn)行 MD5 加密計算。(沒有解密的函數(shù),用于密碼,檢驗時將用戶提交的密碼加密之后進(jìn)行對比)
$a = md5("字符串");
附錄
特殊的變量

以上,阿里嘎多,20190426 from ahanwhite。