php 語法:
換行:
echo"
";echo'
';
"."會連接字符串
'123'.'456'
"=="等號只判斷左右兩邊的最終結(jié)果,而不判斷數(shù)據(jù)類型。
"==="全等于首先判斷兩邊的數(shù)據(jù)類型是否一致,接著判斷最終結(jié)果是否一致。
“||”“|”"&&" "&"
和C語言幾乎一樣,只是||,&&執(zhí)行短路,只要滿足條件a||b++,就不執(zhí)行后面的了,|,&都執(zhí)行。
反引號`
@
->
=>
instanceof
empty()
傳入一個變量,如果變量是false,null,返回true
isset()
傳入一個或多個變量,逗號隔開,只要有一個為null,返回false,其他返回true
unset()
銷毀變量
強制類型轉(zhuǎn)換有三種方式:
1.用后面的三個函數(shù)可以完成類型轉(zhuǎn)換,intval()、floatval()、strval()
2.變量前加上()里面寫上類型,將它轉(zhuǎn)換后賦值給其他變量
3.settype(變量,類型) 直接改變量本身
以下是強制類型轉(zhuǎn)換時的特點:
1.空轉(zhuǎn)為整型會為整型的0
2.空轉(zhuǎn)為浮點會為浮點的0
3.空轉(zhuǎn)為字符串會為空字符串‘’
4.浮點的123.0轉(zhuǎn)為字符串會為字符串123
5.浮點的123.2轉(zhuǎn)為字符串會為字符串的123.2
6.浮點即使小數(shù)點再大,會舍掉小數(shù)點后面的值
7.如果字符串轉(zhuǎn)為整型的時候,如果數(shù)值在前面,會將前面的數(shù)值拿出來做為整型的轉(zhuǎn)換值。
8.settype(變量,'null'); 等價于 unset()一個變量
9.$目標(biāo)變量 = (類型)$操作變量 只會改變目標(biāo)變量的類型,不會改變原變量的類型,Settype是改變原值
可變變量,就是名稱變值,多加幾個$$
php 的集成環(huán)境
安裝在寫
不寫了...
php正則
int preg_match ( string $正則 , string $字符串 [, array &$結(jié)果] )
如://匹配一個空格
<?php
$zz = '/ /';
$string = 'sssssw aaaaa';
if(preg_match($zz, $string, $ma)){
echo '匹配到了,結(jié)果為:';
var_dump($ma);
}else{
echo '沒有匹配到';
}
?>
特殊標(biāo)識的原子
原子 說明
\d 匹配一個0-9
\D 除了0-9以外的所有字符
\w a-z A-Z 0-9 _
\W 除了0-9 A-Z a-z _ 以外的所有字符
\s 匹配所有空白字符\n \t \r 空格
\S 匹配所有非空白字符
[ ] 指定范圍的原子
如:
<?php
$zz = '/[abc]\d+/';
$string = 'a9';
$string1 = 'b1';
$string2 = 'c5';
$string3 = 'd4';
if(preg_match($zz, $string3, $matches)){
echo '匹配到了,結(jié)果為:';
var_dump($matches);
}else{
echo '沒有匹配到';
}
?>
[^ 字符] 不匹配指定區(qū)間的字符,就是反選。
注:匹配一個符合條件的就停了,不繼續(xù)向后匹配。
除了這樣做:
元字符 功能說明
- {0,} 是代表匹配前面的一個原子,匹配0次或者任意多次前面的字符。
- {1,} 匹配一次或多前前面的一個字符
? {0,1} 前面的字符可有可無【可選】 有或沒有
. 更標(biāo)準(zhǔn)一些應(yīng)該把點算作原子。匹配除了\n以外的所有字符
| 或者 優(yōu)先級最低。
^ 必須要以抑揚符之后的字符串開始
$ 必須要以$之前的字符結(jié)尾
\b 詞邊界,空格,最前或最后可被匹配
\B 非邊界,在邊界不能被匹配
{m} 有且只能出現(xiàn)m次
{n,m} 可以出現(xiàn)n到m次
{m,} 至少m次,最大次數(shù)不限制
() 改變優(yōu)先級或者將某個字符串視為一個整體,匹配到的數(shù)據(jù)取出來也可以使用它
例:
改變優(yōu)先級:
<?php
$zz = '/ab(c|b)cd/';
$string1 = "abccd";
$string2 = "ggggbcd";
$string3 = 'abbcd';
if (preg_match($zz, $string3, $matches)) {
echo '匹配到了,結(jié)果為:';
var_dump($matches);
} else {
echo '沒有匹配到';
}
?>
模式匹配符 功能
i 模式中的字符將同時匹配大小寫字母.
m 字符串視為多行
s 將字符串視為單行,換行符作為普通字符.
x 將模式中的空白忽略.
A 強制僅從目標(biāo)字符串的開頭開始匹配.
D 模式中的美元元字符僅匹配目標(biāo)字符串的結(jié)尾.
U 匹配最近的字符串.
例
<?php
$pattern = '/^a\d+/m';
$string = "中國的未來需要我們不斷的努力
a9是一個用來測試的字符
為了祖國的榮耀而學(xué)習(xí)";
if (preg_match($pattern, $string, $matches)) {
echo '匹配到了,結(jié)果為:';
var_dump($matches);
} else {
echo '沒有匹配到';
}
?>
PHP文件
<?php
//linux類的讀了方式
readfile("/home/paul/test.txt");
//windows類的讀取方式
readfile("c:\\boot.ini");
?>
例:
<!DOCTYPE html>
<html>
<body>
<?php
readfile("E:\\2233.txt")
?>
</body>
</html>
中文路徑會錯
fopen函數(shù) fopen函數(shù)的功能是打開文件,參數(shù)主要有兩個:
1.文件打開的路徑
2.打開文件的模式
返回類型是一個資源類型,我們第一次遇到了之前基礎(chǔ)類型的時候講到的資源類型。
資源類型需要其他的函數(shù)來操作這個資源。所有的資源有打開就要有關(guān)閉。
fread函數(shù) 函數(shù)的功能的功能是讀取打開的文件資源。讀取指定長度的文件資源,讀取一部份向后移動一部份。至到文件結(jié)尾。
fclose函數(shù) fclose函數(shù)的功能是關(guān)閉資源。資源有打開就有關(guān)閉。
了解完函數(shù),后兩個函數(shù)比較簡單。而fopen函數(shù)的模式到底是什么,fopen的模式有下面幾個,我們來講一下fopen的模式:
模式 說明
r 只讀方式打開,將文件指針指向文件頭。
r+ 讀寫方式打開,將文件指針指向文件頭。
w 寫入方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建
w+ 讀寫方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建
a 寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建
a+ 讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之
x 創(chuàng)建并以寫入方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創(chuàng)建
x+ 創(chuàng)建并以讀寫方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創(chuàng)建。
這個和C語言的文件差不多
文件的寫入
<?php
$filename = 'test.txt';
$fp= fopen($filename, "w");
$len = fwrite($fp, '程序員就是為了改變世界而存在呀');
fclose($fp);
print $len .'字節(jié)被寫入了\n';
?>
臨時文件
<?php
//創(chuàng)建了一個臨時文件
$handle = tmpfile();
//向里面寫入了數(shù)據(jù)
$numbytes = fwrite($handle, '寫入臨時文件');
//關(guān)閉臨時文件,文件即被刪除
fclose($handle);
echo '向臨時文件中寫入了'.$numbytes . '個字節(jié)';
?>
操作文件
<?php // new name
//舊文件名
$filename = 'test.txt';
//新文件名
$filename2 = $filename . '.old';
//復(fù)制文件
rename($filename, $filename2);
?>
<?php//copy
//舊文件名
$filename = 'copy.txt';
//新文件名
$filename2 = $filename . '_new';
//修改名字。
copy($filename, $filename2);
?>
<?php//delete
$filename = 'test.txt';
if (unlink($filename)) {
echo "刪除文件成功 $filename!\n";
} else {
echo "刪除 $filename 失敗!\n";
}
?>
檢測文件狀態(tài):
bool file_exists ( $指定文件名或者文件路徑)
功能:文件是否存在。
bool is_readable ( $指定文件名或者文件路徑)
功能:文件是否可讀
bool is_writeable ( $指定文件名或者文件路徑)
功能:文件是否可寫
bool is_executable ( $指定文件名或者文件路徑)
功能:文件是否可執(zhí)行
bool is_file ( $指定文件名或者文件路徑)
功能:是否是文件
bool is_dir ( $指定文件名或者文件路徑)
功能:是否是目錄
void clearstatcache ( void )
功能:清除文件的狀態(tài)緩存