PHP全棧學習筆記3

PHP全棧學習筆記3

trim()函數,用於去除字符串首尾空格和特殊字符 返回的是去掉的空格和特殊字符後的字符串php

string trim(string str [,string charlist]);  str 要操做的字符串對象, 第二個參數爲可選參數,選取要從字符串中刪除的字符,不設置該參數,表示要將全部的字符刪除
複製代碼

ltrim()函數,用於去除字符串左邊的空格和特殊字符:web

string ltrim(string str [,string charlist]);
複製代碼

rtrim()函數,用於去除右邊的空格和特殊的字符:正則表達式

string rtrim(string str[,string charlist]);
複製代碼

轉義字符,手動轉義:使用""字符。字符串的定義有單引號,雙引號,界定符(<<<)。express

自動轉義:addslashes()函數和stripslashes()函數 addslashes()函數,用於爲字符串加入「\」。數組

string addslashes(string str)
複製代碼

stripslashes()函數,用於將addslashes()函數轉義後的字符串返回原樣。瀏覽器

string stripslashes(string str)
複製代碼

對要轉義字符串,還原字符串進行必定範圍的限制,addcslashes()函數和stripcslashes()函數。bash

addcslashes()函數:轉換成八進制表示服務器

string addcslashes(string str, string charlist)
複製代碼

stripcslashes()函數,用於對addcslashes()函數轉義過的字符串還原。session

string stripcslashes(string str)
複製代碼

獲取字符串的長度,strlen()函數:漢字佔兩個字符函數

int strlen(string str)
複製代碼

截取字符串,substr()函數:

string substr(string str, int start [,int length])  str指定的字符串對象 start截取開始的字符串位置 length截取字符的個數
複製代碼

比較字符串,按照字節比較:strcmp()函數和strcasecmp()函數,按照天然排序strnatcmp()函數,按照從源字符串的位置開始比較strncmp()函數。

strcmp()函數區分字符的大小寫 strcasecmp()函數不區分字符的大小寫

int strcmp ( string str1, string str2) 相等則返回0 
複製代碼

字符串之間的比較,strcmp()函數比較。

strnatcmp()函數來實現天然排序字符串比較:strnatcmp()用於比較字符串中數字部分

int strnatcmp(string str1, string str2);
複製代碼

strncmp()函數因爲比較字符串中前n個字符:

int strncmp(string str1, string str2, int len)
複製代碼

檢索字符串:查找指定的關鍵字

string strstr(string haystack, string needle) 區分大小寫
複製代碼

substr_count()函數檢索子串出現的次數

int substr_count(string haystack,string needle)
複製代碼

str_ireplace() / str_replace()函數和substr_replace()函數

mixed str_ireplace ( mixed search, mixed replace, mixed subject [, int &count])
複製代碼

search須要查找的字符串 replace替換的值 subject查找的範圍 count替換的數量

substr_replace()函數:對指定字符串中的部分字符串進行替換

string substr_replace(string str,string repl,int start,[int length])
複製代碼

str要操做的原始字符串,repl 替換後的新字符串,start指定替換字符串開始的位置,負數表示起始位置從字符串的結尾開始,length指定返回的字符串長度,負數表示起始位置從字符串的結尾開始,0表示插入而非替代 。

格式化字符串,number_format()函數用來將數字字符串格式化

string number_format(float number,[int num_decimal_places],[string dec_seperator],string thousands_ seperator)
複製代碼

分割字符串,explode()函數,對一個字符串進行分割,返回值爲數組:

array explode(string separator,string str,[int limit])
複製代碼

合成字符串,將數組的內容組合成一個新字符串

string implode(string glue, array pieces)
複製代碼

正則表達式:PHP中的POSIX函數,PHP中的PCRE函數。

image.png

一個正則表達式包含 元字符 和 文本字符。

行定位符(^和$)
「^」表示行的開始
「$」表示行的結尾

單詞定界符(\b、\B)

字符類([ ])
複製代碼

image.png

選擇字符(|)

連字符(-)[a-zA-Z]

排除字符([^])[^a-zA-Z]

限定符(? * + {n,m})
複製代碼

image.png

點號字符(.)^d.s$
轉義字符(\)
括號字符(())
複製代碼

image.png

image.png

POSIX擴展正則表達式函數

ereg()函數和eregi()函數

bool ereg/eregi ( string pattern, string string [, array regs] )
複製代碼

ereg_replace()函數和eregi_replace()函數

string ereg_replace/eregi_replace ( string pattern, string replacement, string string )
複製代碼

split()函數和spliti()函數

array split/spliti ( string pattern, string string [, int limit] )
複製代碼

PCRE兼容正則表達式函數

一、preg_grep()函數

array preg_grep ( string pattern, array input )
複製代碼

二、preg_match()函數和preg_match_all()函數

int preg_match/preg_match_all ( string pattern, string subject [, array matches] )
複製代碼

三、preg_quote()函數 函數返回轉義後的字串

string preg_quote ( string str [, string delimiter] )
複製代碼

四、preg_replace()函數

mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
複製代碼

五、preg_replace_callback()函數

mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit] )
複製代碼

六、preg_split()函數

array preg_split ( string pattern, string subject [, int limit ] )
複製代碼
<table width="765" height="229" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="229" colspan="2"><img src="images/bg_03.jpg" width="765" height="229" border="0" href="index.php" /></td>
  </tr>
  <tr>
    <td width="565" height="364" align="center" valign="top">	<form name="reg_check" method="post" action="index_ok.php" onSubmit="return chkreg(reg_check,'all')">
      <table width="550" height="270" border="0" align="center" cellpadding="0" cellspacing="0">
			
                <tr>
                  <td height="38" colspan="3" valign="bottom"><img src="images/bg_05.jpg" width="543" height="30" /></td>
                </tr>
                <tr>
                  <td width="110" height="30"><div align="right">會員名:</div></td>
                  <td colspan="2" align="left">&nbsp;<input type="text" name="recuser" size="20"  onBlur="chkreg(reg_check,0)">
                    <font color="#FF0000">*</font>&nbsp;
                  <div id="check_recuser" style="color:#F1B000"></div></td>
                </tr>
				
                <tr>
                  <td height="30"><div align="right">詳細聯繫地址:</div></td>
                  <td height="30" colspan="2" align="left">&nbsp;<input type="text" name="address" size="50"  onBlur="chkreg(reg_check,1)">
                    <font color="#FF0000">*</font>&nbsp;
                  <div id="check_address" style="color:#F1B000"></div></td>
                </tr>
                <tr>
                  <td height="30"><div align="right">郵政編碼:</div></td>
                  <td height="30" colspan="2" align="left">&nbsp;<input type="text" name="postalcode" size="20"  onBlur="chkreg(reg_check,2)"><div id="check_postalcode" style="color:#F1B000"></div></td>
                </tr>
				<tr>
                  <td height="30"><div align="right">QQ號碼:</div></td>
                  <td height="30" colspan="2" align="left">&nbsp;<input type="text" name="qq" size="20"  onBlur="chkreg(reg_check,3)">
                    <font color="#FF0000">*</font>&nbsp;
                  <div id="check_qq" style="color:#F1B000"></div></td>
                </tr>
				<tr>
                  <td height="30"><div align="right">E-mail:</div></td>
                  <td height="30" colspan="2" align="left">&nbsp;<input type="text" name="email" size="20" onBlur="chkreg(reg_check,4)">
                    <font color="#FF0000">*</font>&nbsp;<font color="#999999">請務必正確填寫您的郵箱</font>
                  <div id="check_email" style="color:#F1B000"></div></td>
                </tr>
                <tr>
                  <td height="30" align="right">固定電話:</td>
                  <td height="30" colspan="2" align="left">&nbsp;<input type="text" name="gtel" size="20"  onBlur="chkreg(reg_check,6)">
                  <font color="#FF0000">*</font>&nbsp;<font color="#999999"><div id="check_gtel" style="color:#F1B000"></div></font></td>
          </tr>
		 
                <tr>
                  <td height="30"><div align="right">移動電話:</div></td>
                  <td height="30" colspan="2" align="left">&nbsp;<input type="text" name="mtel" size="20"  onBlur="chkreg(reg_check,5)">
                    <font color="#FF0000">*</font>&nbsp;
                  <div id="check_mtel" style="color:#F1B000"></div></td>
                </tr>
                <tr>
                  <td height="30">&nbsp;</td>
                  <td width="100" height="30"><input type="image"  src="images/bg_09.jpg"></td>
                  <td width="340"><img src="images/bg_11.jpg" width="56" height="30" onClick="reg_check.reset()" style="cursor:hand"/></td>
                </tr>
        </table>
</form></td>
    <td width="200" height="364"><img src="images/bg_07.jpg" width="200" height="364" /></td>
  </tr>
  <tr>
    <td colspan="2"><img src="images/bg_08.jpg" width="765" height="101" /></td>
  </tr>
</table>
複製代碼
function checkregtel(regtel){
	var str=regtel;
	var Expression=/^13(\d{9})$|^18(\d{9})$|^15(\d{9})$/;
	var objExp=new RegExp(Expression);
	if(objExp.test(str)==true){
		return true;
	}else{
		return false;
	}
}
function checkregtels(regtels){
	var str=regtels;
	var Expression=/^(\d{3}-)(\d{8})$|^(\d{4}-)(\d{7})$|^(\d{4}-)(\d{8})$/;
	var objExp=new RegExp(Expression);
	if(objExp.test(str)==true){
		return true;
	}else{
		return false;
	}
}
function checkregemail(emails){
	var str=emails;
	var Expression=/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; var objExp=new RegExp(Expression); if(objExp.test(str)==true){ return true; }else{ return false; } } 複製代碼

php數組:什麼是數組,聲明數組,數組的類型,輸出數組,數組的構造,遍歷數組,字符串和數組的轉換,統計數組元素個數,查詢數組中指定元素,獲取數組中最後一個元素,向數組中添加元素,刪除數組中重複的元素。

數據就是一組相同數據的集合,數組是一組有序的變量,每一個變量爲一個元素,每一個元素都有一個特殊的標識符來區分,爲下標。數組就是存儲多個值的容器。

聲明數組:array()聲明數組,經過數組元素賦值聲明數組。

array array ( [key => value...])
複製代碼

數組類型:(數字)索引數組 和 (字符串)關聯數組

輸出數組:

bool print_r ( mixed expression )
複製代碼

數組的構造:一維數組 和 二維數組 遍歷數組:foreach結構遍歷數組 和 list()函數遍歷數組,list()函數只能用於數字索引的數組,且從0開始。

explode()函數和implode()函數

explode()函數將字符串轉換成數組

array explode(string separator, string string, [int limit])

<?php
$str = "da, dashu, dashucoding";
$strs = explode("," $str);
print_r($strs);
?>

<form name="form1" method="post" action="">
 <table width="400" border="1" cellpadding="0" cellspacing="1" bordercolor="#FF9900" bgcolor="#CCFF66">
  <tr align="center">
  <td width="98" height="120">添加項</td>
  <td width="233" height="120"><p>
  <textarea name="content" cols="30" rows="5" id="content"></textarea><br>
 <td widt="60" height="120"><input type="Submit" name="Submit" value="提交"></td>
  </tr>
 </table>
</form>
複製代碼
<td><table width="400" border="1" cellpadding="0" cellspacing="1" bordercolor="#FF9900" bgcolor="#CCFF66">
      <tr align="center">
        <td width="98" height="30">投票選項:</td>
        <td width="223" height="30">
          <?php
		if($_POST[Submit]!=""){
			 $content=$_POST[content];
			 $data=explode("*",$content);
		while(list($name,$value)=each($data)){
			 echo '<input type="checkbox" name="checkbox" value="checkbox">'; 
			 echo $value."\n";  
			} 
		  }
		?>
        </td>
        <td width="61" height="30">&nbsp;</td>
      </tr>
    </table></td>
複製代碼

image.png

implode()函數將數組轉換成字符串

string implode(string glue, array pieces)
複製代碼

統計數組元素個數:

int count ( mixed array [, int mode]) COUNT_RECURSIVE count_recursive
複製代碼

查找數組中指定的值,array_search()函數

mixed array_search ( mixed needle, array haystack [, bool strict])
複製代碼

獲取數組中最後一個元素,array_pop()函數 返回數組的最後一個元素

mixed array_pop ( array array)
複製代碼

向數組中添加元素,array_push()函數向數組中添加元素

int array_push ( array array, mixed var [, mixed ...])
複製代碼

刪除數組中重複元素,array_unique()函數刪除數組中重複的元素。

array array_unique ( array array)
複製代碼

上傳多個文件

move_uploaded_file()函數上傳文件函數,array_push()函數向數組中添加元素,array_unique()函數用於刪除數組中重複的元素,array_pop()函數獲取數組中最後一個元素,count()函數獲取數組的元素個數。

<form action="###.php" method="post" enctype="multipart/form-data" name="form1">
        <tr>
          <td width="88" height="30" align="right" class="STYLE1">內容1:</td>
          <td width="369"><input name="picture[]" type="file" id="picture[]" size="30"></td>
          </tr>
        <tr>
          <td height="30" align="right" class="STYLE1">內容2:</td>
          <td><input name="picture[]" type="file" id="picture[]" size="30"></td>
          </tr>
        <tr>
          <td height="30" align="right" class="STYLE1">內容3:</td>
          <td><input name="picture[]" type="file" id="picture[]" size="30"></td>
          </tr>
        <tr>
          <td height="30" align="right" class="STYLE1">內容4:</td>
          <td><input name="picture[]" type="file" id="picture[]" size="30"></td>
        </tr>
        <tr>
          <td height="30" align="right" class="STYLE1">內容5:</td>
          <td><input name="picture[]" type="file" id="picture[]" size="30"></td>
          </tr>
        <tr>
          <td height="50">&nbsp;</td>
          <td><input type="image" name="imageField" src="images/02-03 (3).jpg"></td>
          </tr>
      </form>
複製代碼

image.png

<?php  
	if(!is_dir("./upfile")){ 							//判斷服務器中是否存在指定文件夾
		mkdir("./upfile");								//若是不存在,則建立文件夾
	}
	array_push($_FILES["picture"]["name"],"");			//向表單提交的數組中增長一個空元素   
    $array=array_unique($_FILES["picture"]["name"]);    //刪除數組中重複的值
    array_pop($array);             						//刪除數組中最後一個單元
	for($i=0;$i<count($array);$i++){					//根據元素個數執行for循環
    	$path="upfile/".$_FILES["picture"]["name"][$i];	//定義上傳文件存儲位置
		if(move_uploaded_file($_FILES["picture"]["tmp_name"][$i],$path)){	//執行文件上傳操做
			$result=true;
		}else{
			$result=false;
		}
	}
	if($result==true){
			echo "文件上傳成功,請稍等...";
			echo "<meta http-equiv=\"refresh\" content=\"3; url=index.php\">";
		}else{
			echo "文件上傳失敗,請稍等...";
			echo "<meta http-equiv=\"refresh\" content=\"3; url=index.php\">";
	}

?>
複製代碼

image.png

應用list()函數和each()函數

<?php
//輸出用戶登陸信息
while(list($name,$value)=each($_POST)){
	if($name!="submit"){
  	  echo "$name=$value<br>";
	}
}
?>
複製代碼

phpweb開發

表單建立,獲取表單數據,參數傳遞,嵌入PHP腳本,在PHP中獲取表單數據,對url傳遞的參數進行編解碼等。

建立表單:

<form name="form_name" method="method" action="url" enctype="value" target="target_win">
</form>
name:表單名稱
method:表單提交方式
action:處理表單頁面的url
enctype:設置表單的編碼方式
target:設置返回信息的顯示方式
_blank:新的窗口
_parent:顯示在父級窗口
_self:顯示在當前窗口
_top:顯示在頂級窗口
複製代碼

表單有表單元素組成。

text <input name="user" type="text" value="dashu" size="10" maxlength="100">
password <input name="pwd" type="password" value="dashu" size="10" maxlength="10">
file <input name="file" type="file" enctype="multipart/form-data" size="10" maxlength="100">
image <input name="image" type="image" src="" width="100" height="100" border="0">

radio <input name="sex" type="radio" value="1" checked>
<input name="sex" type="radio" value="0">

checkbox <input name="checkbox" type="checkbox" value=「1」 checked>
<input name="checkbox" type="checkbox" value="1" checked>
<input name="checkbox" type="checkbox" value="0">

submit <input type="submit" name=‘Submit’ value="提交">
reset <input type="button" name="Submit" value="按鈕">
hidden <input type="hidden" name="id">
複製代碼
<select> 和 <option>
<select name="" id="">
 <option value="" selected></option>
</select>

<select name="" id="" multiple>
</select>

<textarea name="name" rows=value cols=value value="value" warp="value">
</textarea>
// warp設置顯示和送出時的換行方式 off hard soft
複製代碼
<tr bgcolor="#FFCC33">
      <td height="25" align="right">愛好:</td>
      <td height="25" colspan="2" align="left"><input name="fond[]" type="checkbox" id="fond[]" value="電腦">
        電腦
        <input name="fond[]" type="checkbox" id="fond[]" value="音樂">
        音樂
        <input name="fond[]" type="checkbox" id="fond[]" value="旅遊">
        旅遊
        <input name="fond[]" type="checkbox" id="fond[]" value="其餘">
        其餘</td>
    </tr>
複製代碼

image.png

獲取表單方法: POST方法和GET方法

<form name="form1" method="post" action="index.php">
<input type="submit" name="submit" value="提交">
</form>

<form name="form2" method="get" action="index.php">
<input type="submit" name="submit" value="提交">
</form>
複製代碼

獲取表單參數,_POST[]全局變量,_GET[]全局變量,$_SESSION[]變量,獲取表單,url,與session變量的值(保存以後任何頁面均可以使用)。

<form ...>
 <input type="text" name="user"..>
 <input name="pwd" ...>
 <input name="submit" type="submit" id="submit" value="登陸">
</form>

<?php
if($_POST["submit"]=="登陸"){
 echo $_POST[user]...
}
?>

<input name="sex" type="radio" value="1">
<input name="sex" type="radio" value="0">
複製代碼

複選框

複選框,爲了傳遞值,name的名字是一個數組形式:

<input type="checkbox" name="chkbox[]" value="dashu">
count()計算數組的大小,for循環輸出選擇的複選框值
複製代碼
<form name="form1" method="post" action="index.php">
<table width="445" cellpadding="0" cellspacing="0">
 <tr>
  <td width="440" height="40" align="center" valign="top">
   <input type="checkbox" name="mr[]" value="1">1
   <input type="submit" name="submit" value="提交">
  </td>
 </tr>
</table>
</form>

<?php
if(($_POST[mr] != null)){
 for($i=0; $i<count($_POST[mr]); $i++)
  echo $_POST[mr][$i];
}
?>
複製代碼

獲取菜單列表的值

<input type="checkbox" name="chkbox[]" multiple>
複製代碼

獲取文件域的值

<form name="form1" method="post" action="index.php">
<input type="file" name="file" size="15">
<input type="submit" name=‘upload’ value="上傳">
</form>
複製代碼

對URL傳遞的參數進行編/解碼,URL編碼是一種瀏覽器用來打包表單輸入數據的格式,是對用地址欄傳遞參數進行的一種編碼 規則。

進行URL編碼

string urlencode( string str)
複製代碼

進行解碼

string urldecode( string str)
複製代碼
for($i=0;$i<count($_POST[fond]);$i++)
		echo $_POST[fond][$i]."&nbsp;&nbsp;";
		$path = './upfiles/'. $_FILES['photo']['name'];
		move_uploaded_file($_FILES['photo']['tmp_name'],$path);
	}
複製代碼
<body>
<form name="form1" method="post" action="">
  查詢關鍵字:
  <input name="content" type="text" id="content">
  <input type="submit" name="Submit" value="搜索">
</form>
<?php
echo"您輸入的關鍵字是:";
echo $_POST[content];
?>
</body>
複製代碼
<a href="index.php?id=<?php echo urlencode("http://.com");?>">PHP</a>
<?php
echo urldecode($_GET[id]);
?>
複製代碼

結言

好了,歡迎在留言區留言,與你們分享你的經驗和心得。

感謝你學習今天的內容,若是你以爲這篇文章對你有幫助的話,也歡迎把它分享給更多的朋友,感謝。

感謝!承蒙關照!您真誠的讚揚是我前進的最大動力!

image

image
相關文章
相關標籤/搜索