迴圈渲染指令
阿新 • • 發佈:2021-10-01
九月份學習了關於PHP相關的知識,最終也是實現了PHP+mysql的增刪改查。
還是總結一下php相關的基礎知識
1.php註釋:- //單行註釋
- #單行註釋
- /* */多行註釋
- 明白PHP指令碼在伺服器上執行,然後將純HTML結果傳送回瀏覽器
- PHP 指令碼可以放在文件中的任何位置,PHP指令碼以 <?php 開始
- PHP檔案的預設副檔名是 ".php"
- PHP中的每個程式碼行都必須以分號結束,分號是一種分隔符,用於把指令集區分開來
- echo:輸出
- print:輸出,輸出成功返回1
- print_r():輸出陣列
- var_dump():輸出資料的詳細資訊,帶有資料型別和資料長度
- 必須以$開頭
- 不能以數字開頭,字母下劃線
- 不能含有空格
- 嚴格區分大小寫
- 見名識意,採用駝峰式命名
- 十進位制:dec
- 二進位制:bin
- 八進位制:oct
- 十六進位制:hex
echo decbin(123),'<br>'; //十進位制轉二進位制6.php資料型別:
- 基本資料型別:string(單引號的解析速度比雙引號快)、integer、float、boolean(用var_dump()輸出)
- 複合型:array(陣列)、object(物件)
- 特殊性:null(空)、resource(資源)
- 強制轉換:
(資料型別)資料
- 其他型別和布林型之間的轉換:
var_dump((bool)'abc');//bool(true)
8.獲取時間
date('Y-m-d H:i:s')
(年 月 日 小時 分鐘 秒) 9.php中也有三大結構:順序結構、分支結構、迴圈結構,其中的語法和用法與其他語言相同,可能只是在書寫結構上有些差異。 其中要提到的一個迴圈函式是foreach,他在迴圈遍歷陣列上有很大的用處。(個人是非常喜歡的)//語法一 foreach(陣列 as 值){ }//語法二 foreach(陣列 as 鍵=>值){ }
10.
- 字串拼接:“.”
- die():終值之後的所有程式碼(常用)
- upset():銷燬變數(清空)
- empty()函式:判斷變數是否為空
- isset()函式:檢測變數是否被設定
- gettype()函式:用於獲取變數的資料型別
- settype()函式:用於設定變數的型別
- @()取消警告
-
//定界符:能夠解析變數,也能夠輸出html程式碼 echo <<<str str;
- '\':轉義字元
11.常量的定義:
- 定義:define
- 定義過後就不可以再改變了
- defined()函式:用來檢測常量是否被定義
- 變數與常量的區別: 常量:一經定義不可改變,不需要$符,需要define定義,常量名必須是大寫字母 變數:可以改變,需要$符定義,變數名開頭是$,要符合規範
12.對於字串的處理:
- 用for迴圈輸出字串中的每一個字元。
- strlen():獲取字串的長度(其中每一個英文字元都是佔1個位元組,而一個漢字需要佔3個位元組,所以在獲取中文字串的長度時,我們需要用mb_strlen()函式)
- explorer()函式:按照指定分割符將字串轉化為陣列。2個引數:(分割符,字串)
- str_replace()函式:字串的替換。3個引數:(被替換的字元,替換成的字元,字串)
- substr_replace()函式:字串替換。4個引數:(字串,替換成的字串,開始的位置,替換的長度)
//案例
//手機號中間四位隱藏: function hide($str){ $resstr=substr_replace($str,'****',3,4); return $resstr; } echo hide(15065421607);
- printf()函式:格式化輸出字串。
$number=20000000; $city='上海'; //printf可以直接輸出 printf("%s有%d多人",$city,$number);//佔位符:%s字串型,%d整形 //sprint需要用echo輸出 echo sprintf("%s有%d多人",$city,$number);
- strpos()函式:查詢字串內指定的字元,返回第一次出現的位置。
- strrpos()函式:查詢字串內指定的字元,返回最後一次出現的位置。
- strstr()函式:查詢字串內指定的字元,返回該字元以及該字元以後的內容。
- substr()函式:字串擷取。
- str_repeat()用於把指定字元重複n次。
- trim()函式:用於去除字串兩端的空白。(前面有l為左,r為右)
- strrev()函式:反轉字串。
- strtolower()函式:把字串轉換為小寫字母。
- strtoupper()函式:把字串轉換為大寫字母。
- ucfirst()函式:把字串中的首字元轉換為大寫。
- ucwords()函式:把字串中每個單詞的首字元轉換為大寫。
(關於函式這東西還有很多,需要自己積累)
13.對陣列的處理:
- 用foreach迴圈遍歷陣列。
- implode()函式:按照指定連線符將陣列轉化為字串。2個引數:(連線符,字串)
- 追加:
- 陣列名[索引名]
- array_unshift()函式:在陣列前新增
- array_push()函式:在陣列後新增
-
刪除:
- unset()函式:銷燬變數
- array_shift()函式:刪除陣列前的
- array_pop()函式:刪除陣列後的
- array_splice()函式:陣列+下標
14.php對檔案的操作:
- fopen()函式:用於在 PHP 中開啟檔案。
- fread()函式:讀取開啟的檔案。
- fclose()函式:關閉開啟的檔案。
- fgets()函式:從開啟的檔案中返回一行。
- file_get_contents()函式:把整個檔案讀入一個字串中。
- file_put_contents()函式:把一個字串寫入檔案中。
- fwrite()函式:把一個字串寫入檔案中。
$file = 'sites.txt'; $site = "\nGoogle"; // 向檔案追加寫入內容 // 使用 FILE_APPEND 標記,可以在檔案末尾追加內容 // LOCK_EX 標記可以防止多人同時寫入 file_put_contents($file, $site, FILE_APPEND | LOCK_EX);
15.php正則表示式:
- preg_match('(正則表示式)','變數')
- 中文正則:"/^x{4e00}-\x{9fa5}{2,3}$/u":x表示十六進位制,u表示代表unicode(utf-8)匹配
$res=preg_match("/^[\x{4e00}-\x{9fa5}]{2,3}$/u",$realname);
16.MySQL資料庫的操作使用:(在編寫語句時一定要注意單詞的拼寫、去都是英文字元、語句最後的分號)
- 進入MySQL資料庫:D:\phpstudy_pro\Extensions\MySQL5.7.26\bin>mysql -uroot -proot -h127.0.0.1 -P3306
- 退出資料庫:quit或exit或\q
- 庫的操作:
- 建立資料庫:create database student;
- 展示所有資料庫:showdatabases;
- 刪除資料庫(慎用!):drop databasestudent;
- 選擇/切換/使用資料庫:usestudent;
- 表的操作:
- 建立表:create table stu();
- 刪除表:drop table stu;
- 展示表:show tables;
- 查看錶結構:desc stu;
- 複製表:create table newStuselect namefrom stu;或create tablenewStulike stu;
- 修改表名:alter table stu rename to newStu;
- 新增欄位:alter table stu add sex varchar(10) after name;(新增在name之後)或alter table stu add sex varchar(10) name in first;(新增在name之前)
- 刪除欄位:alter table stu drop age;
- 修改欄位名:alter table stu change name new_name;
- 修改欄位屬性:alter table stu modify name varchar(50);
- 修改引擎:alter table stu engine=引擎名;
- 移動:alter table stu rename to newStu;
- MySQL支援儲存的資料型別:(常用)
- 整型:int
- 浮點型:float
- 小數(定點數):decimal(M,D)(M:總位數,D:小數點後的位數)(價錢)
- 字元型:char(定長),varchar(不定長)
- 列舉:enum(要加引號)(單選框,性別,狀態)
- 集合:set(要加引號)(複選框)
- 日期時間型:datetime(日期時間),date(日期),time(時間)
- 其他常用操作:
- where:後面跟的是條件,在資料來源中進行篩選
- having是在結果集上進行條件篩選
- order by:排序
- group by:分組
- limite:限制(開始下標,長度)
- like:模糊查詢(萬用字元:_:表示任意一個字元;%:表示任意字元)
- as:給欄位取別名
- 聚合函式:sum求和,avg求平均值,max求最大值,min求最小值,count求記錄數
- 子查詢:(查詢裡面再查詢)以子查詢的查詢結果作為父查詢的查詢條件 用於兩表查詢=》就相當於兩表聯查(還是兩表聯查好用)
- 表資料的操作:
- 增加內容:insert into stu(欄位) value(值),(值);
- 刪除:delete from stuwhere (id=1);
- 修改:update stu set (age='20') where (id=6);
- 查詢表格內容:select *(所有)[欄位] from stu where(條件:age>25 && sex='男');
- 批量刪除:delete from stu where id in (1,3,5);
- 排序 select * from stuorder by age asc;(根據年齡升序) select * from stuorder by birth desc;(根據出生日期降序)
- 模糊查詢:select * from stu where name like '老%';
- 查詢不重複資訊:distinct