語(yǔ)言與語(yǔ)言之間都會(huì)有相似的語(yǔ)法籍救,也有它獨(dú)有的語(yǔ)法。所以本節(jié)還是得記錄一下 PHP 的基礎(chǔ)語(yǔ)法~
一、PHP 標(biāo)記
PHP 也是通過標(biāo)記來識(shí)別的祝拯,像 JSP 的 <% %> 的一樣滤愕,PHP 的最常用的標(biāo)記是:<?php php 代碼 ?>
温算。
以 “<?” 開始,“?>”結(jié)束间影。
該風(fēng)格是最簡(jiǎn)單的標(biāo)記風(fēng)格注竿,默認(rèn)是禁止的,可以通過修改 short_open_tag 選項(xiàng)來允許使用這種風(fēng)格魂贬。
[捂臉哭] 我們其實(shí)目前不需要去配置這個(gè)風(fēng)格哈巩割,老老實(shí)實(shí)用 <?php php 代碼 ?>
就夠了~
二、基礎(chǔ)語(yǔ)法
1. PHP 語(yǔ)句都以英文分號(hào)【;
】結(jié)束付燥。
2. PHP 注釋
大體上有三種:
<?php
/*
多行注釋
*/
echo "string";// 單行注釋
echo "string";# 單行注釋
?>
sublime text 3 神奇快捷鍵:ctrl shift d => 復(fù)制當(dāng)前行到下一行
3. 輸出語(yǔ)句:echo
<?php
echo "string";
echo("string");
?>
PHP 可以嵌套在 HTML 里面寫宣谈,所以也可以輸出 HTML、CSS键科、JavaScript 語(yǔ)句等闻丑。
<font id="testPhpJs"></font>
<?php
echo "<style type='text/css'>#testPhpJs {color: red}</style>";
echo "<h1>一級(jí)標(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)頁(yè)輸出結(jié)果:4. 變量及變量類型
PHP 的類型有六種,整型勋颖、浮點(diǎn)型嗦嗡、字符串、布爾型饭玲、數(shù)組酸钦、對(duì)象。
但是定義的方式只有一種:$ 變量名咱枉。PHP 變量的類型會(huì)隨著賦值的改變而改變(動(dòng)態(tài)類型)
<?php
$variable = 1; //整型
$variable = 1.23; //浮點(diǎn)型
$variable = "字符串"; //字符串 ""
$variable = '字符串'; //字符串 ''
$variable = false; //布爾型
?>
特殊的變量(見附錄)卑硫。
5. 字符串
關(guān)于字符串,我們還有幾點(diǎn)需要說的:
a. 雙引號(hào)和單引號(hào)
這兩者包起來的都是字符串:'阿'
蚕断、"阿"
欢伏。注意單引號(hào)里不能再加單引號(hào),雙引號(hào)里不能再加雙引號(hào)亿乳,實(shí)在要加的話記得用轉(zhuǎn)義符 “ \
”
b. 定界符
如果想輸出很大一段字符串硝拧,那么就需要定界符來幫忙径筏。定界符就是由頭和尾兩部分。
<?php
echo <<<EOT
hello world!
lalala~
EOT;
// 這個(gè)定界符的尾巴和前面<<<后面的字符應(yīng)該一樣
// !定界符的尾巴必須靠在最左邊
?>
定界符的名字是自己起的障陶,樂意叫啥就叫啥滋恬,但是它的尾巴必須靠在最左邊,不能有任何其他的字符抱究!空格也不行:
<?php
//定界符的名字隨便起
echo <<<ERROR
ERROR;
//但是尾巴必須靠左恢氯,前面不能有任何東西。比如這樣就是錯(cuò)的 ↑
?>
看鼓寺!上面這個(gè)注釋都變成綠色了~ 它都報(bào)錯(cuò)了勋拟,大家寫的時(shí)候可不能這么寫哦~O(∩_∩)O哈哈~
6. 字符串連接
不同于 Java 的 “+” 號(hào)連接符,PHP 用的是點(diǎn)【.】妈候。在做數(shù)據(jù)庫(kù)查詢語(yǔ)句的時(shí)候敢靡,常會(huì)遇到要與變量拼接的情況。這里給個(gè)小技巧:
在數(shù)據(jù)庫(kù)相關(guān)軟件中先用一個(gè)數(shù)據(jù)例子寫好查詢語(yǔ)句苦银,并測(cè)試直到執(zhí)行成功:
然后將數(shù)據(jù)換成變量:
將 sql 語(yǔ)句用字符串變量存儲(chǔ)啸胧。
將寫死的數(shù)據(jù)換成兩個(gè)雙引號(hào)
在雙引號(hào)中間加兩個(gè)連接符 點(diǎn)【.】
在連接符中間將變量放入
<?php
$isbn = "9787508353937";//存儲(chǔ)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."'";
//修改完成
?>
保證不會(huì)出錯(cuò)哈哈(這個(gè)多用于數(shù)據(jù)庫(kù)的增刪改查,避免 sql 語(yǔ)句的錯(cuò)誤)
7. 表單數(shù)據(jù)
表單在提交數(shù)據(jù)的時(shí)候幔虏,method 有兩種方式:post & get纺念。所以 PHP 有幾種不同的方式來獲取表單數(shù)據(jù):
<?php
$_POST['表單控件名稱'] //對(duì)應(yīng)POST方式提交的數(shù)據(jù)
$_GET['表單控件名稱'] //對(duì)應(yīng)GET方式提交的數(shù)據(jù)
$_REQUEST['表單控件名稱'] //同時(shí)適用于兩種方式
?>
8. 運(yùn)算符
運(yùn)算符和其他語(yǔ)言基本一致,如果不了解的可以去看看我的 java 運(yùn)算符(https://blog.csdn.net/ahanwhite/article/details/89461167)所计。
但這里還是有一個(gè)比較特殊的:
字符串連接賦值:【.=】
<?php
$str = "這是連接";
$str .= "字符串的運(yùn)算符";
// 那么現(xiàn)在的$str = "這是連接字符串的運(yùn)算符";
?>
9. 分支與選擇
同樣和其他語(yǔ)言差別不大柠辞,有興趣可以看我的 java 控制語(yǔ)句(https://blog.csdn.net/ahanwhite/article/details/89461652)
10. PHP 函數(shù)
PHP 的函數(shù)和 Java 還是有點(diǎn)兒區(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;
}
//不傳參測(cè)試默認(rèn)值
myName2();
?>
輸出結(jié)果:d. PHP 也有一些自己的系統(tǒng)函數(shù)(比如 echo)图毕,這里再列幾個(gè)常用的字符串函數(shù):
- 字符串長(zhǎng)度計(jì)算
$a = mb_strlen("abdsd");
$b = mb_strlen("lalalal",'UTF-8')
我一般用后面這個(gè)夷都,按 utf-8 編碼計(jì)算長(zhǎng)度。
- 在一個(gè)字符串中查找另一個(gè)字符串
strstr(字符串1予颤,字符串2)
補(bǔ)充一個(gè)函數(shù) var_dump() 【實(shí)名感謝石老師】
用來判斷一個(gè)變量的類型與長(zhǎng)度, 并輸出變量的數(shù)值, 如果變量有值輸?shù)氖亲兞康闹挡⒒胤禂?shù)據(jù)類型. 此函數(shù)顯示關(guān)于一個(gè)或多個(gè)表達(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);
?>
如果存在前面的字符串里存在后面的字符串驳庭,那么會(huì)返回字符串 2 以及在字符串 1 里后面的所有字符刑顺。如果不存在氯窍,就會(huì)返回 false(但是不能直接輸出,直接輸出好像是空值蹲堂,判斷一下再輸出提示信息會(huì)比較好)
- 按照 ASCII 碼比較兩個(gè)字符串大小
strcmp("字符串1","字符串2")
//1比2打狼讨,返回大于0,2比1打,返回小于0柒竞,一樣大的話返回等于0
- 將 html 標(biāo)記作為字符串輸出
htmlspecialchars("字符串")
- 改變字符串大小寫
strtolower("字符串");//將字符串全變成小寫
strtoupper("字符串");//將字符串全變成大寫
- 加密函數(shù)
md5() 將一個(gè)字符串進(jìn)行 MD5 加密計(jì)算政供。(沒有解密的函數(shù),用于密碼能犯,檢驗(yàn)時(shí)將用戶提交的密碼加密之后進(jìn)行對(duì)比)
$a = md5("字符串");
附錄
特殊的變量
以上鲫骗,阿里嘎多,20190426 from ahanwhite踩晶。