前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP全栈学习笔记3

PHP全栈学习笔记3

作者头像
达达前端
发布2019-07-03 15:14:43
1K0
发布2019-07-03 15:14:43
举报
文章被收录于专栏:达达前端达达前端
PHP全栈学习笔记3

trim()函数,用于去除字符串首尾空格和特殊字符 返回的是去掉的空格和特殊字符后的字符串

代码语言:javascript
复制
string trim(string str [,string charlist]);  str 要操作的字符串对象, 第二个参数为可选参数,选取要从字符串中删除的字符,不设置该参数,表示要将所有的字符删除

ltrim()函数,用于去除字符串左边的空格和特殊字符:

代码语言:javascript
复制
string ltrim(string str [,string charlist]);

rtrim()函数,用于去除右边的空格和特殊的字符:

代码语言:javascript
复制
string rtrim(string str[,string charlist]);

转义字符,手动转义:使用""字符。字符串的定义有单引号,双引号,界定符(<<<)。

自动转义:addslashes()函数和stripslashes()函数 addslashes()函数,用于为字符串加入“\”。

代码语言:javascript
复制
string addslashes(string str)

stripslashes()函数,用于将addslashes()函数转义后的字符串返回原样。

代码语言:javascript
复制
string stripslashes(string str)

对要转义字符串,还原字符串进行一定范围的限制,addcslashes()函数和stripcslashes()函数。

addcslashes()函数:转换成八进制表示

代码语言:javascript
复制
string addcslashes(string str, string charlist)

stripcslashes()函数,用于对addcslashes()函数转义过的字符串还原。

代码语言:javascript
复制
string stripcslashes(string str)

获取字符串的长度,strlen()函数:汉字占两个字符

代码语言:javascript
复制
int strlen(string str)

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

代码语言:javascript
复制
string substr(string str, int start [,int length])  str指定的字符串对象 start截取开始的字符串位置 length截取字符的个数

比较字符串,按照字节比较:strcmp()函数和strcasecmp()函数,按照自然排序strnatcmp()函数,按照从源字符串的位置开始比较strncmp()函数。

strcmp()函数区分字符的大小写 strcasecmp()函数不区分字符的大小写

代码语言:javascript
复制
int strcmp ( string str1, string str2) 相等则返回0 

字符串之间的比较,strcmp()函数比较。

strnatcmp()函数来实现自然排序字符串比较:strnatcmp()用于比较字符串中数字部分

代码语言:javascript
复制
int strnatcmp(string str1, string str2);

strncmp()函数由于比较字符串中前n个字符:

代码语言:javascript
复制
int strncmp(string str1, string str2, int len)

检索字符串:查找指定的关键字

代码语言:javascript
复制
string strstr(string haystack, string needle) 区分大小写

substr_count()函数检索子串出现的次数

代码语言:javascript
复制
int substr_count(string haystack,string needle)

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

代码语言:javascript
复制
mixed str_ireplace ( mixed search, mixed replace, mixed subject [, int &count])

search需要查找的字符串 replace替换的值 subject查找的范围 count替换的数量

substr_replace()函数:对指定字符串中的部分字符串进行替换

代码语言:javascript
复制
string substr_replace(string str,string repl,int start,[int length])

str要操作的原始字符串,repl 替换后的新字符串,start指定替换字符串开始的位置,负数表示起始位置从字符串的结尾开始,length指定返回的字符串长度,负数表示起始位置从字符串的结尾开始,0表示插入而非替代 。

格式化字符串,number_format()函数用来将数字字符串格式化

代码语言:javascript
复制
string number_format(float number,[int num_decimal_places],[string dec_seperator],string thousands_ seperator)

分割字符串,explode()函数,对一个字符串进行分割,返回值为数组:

代码语言:javascript
复制
array explode(string separator,string str,[int limit])

合成字符串,将数组的内容组合成一个新字符串

代码语言:javascript
复制
string implode(string glue, array pieces)

正则表达式:PHP中的POSIX函数,PHP中的PCRE函数。

image.png

一个正则表达式包含 元字符 和 文本字符。

代码语言:javascript
复制
行定位符(^和$)
“^”表示行的开始
“$”表示行的结尾

单词定界符(\b、\B)

字符类([ ])

image.png

代码语言:javascript
复制
选择字符(|)

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

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

限定符(? * + {n,m})

image.png

代码语言:javascript
复制
点号字符(.)^d.s$
转义字符(\)
括号字符(())

image.png

image.png

POSIX扩展正则表达式函数

ereg()函数和eregi()函数

代码语言:javascript
复制
bool ereg/eregi ( string pattern, string string [, array regs] )

ereg_replace()函数和eregi_replace()函数

代码语言:javascript
复制
string ereg_replace/eregi_replace ( string pattern, string replacement, string string )

split()函数和spliti()函数

代码语言:javascript
复制
array split/spliti ( string pattern, string string [, int limit] )

PCRE兼容正则表达式函数

1、preg_grep()函数

代码语言:javascript
复制
array preg_grep ( string pattern, array input )

2、preg_match()函数和preg_match_all()函数

代码语言:javascript
复制
int preg_match/preg_match_all ( string pattern, string subject [, array matches] )

3、preg_quote()函数 函数返回转义后的字串

代码语言:javascript
复制
string preg_quote ( string str [, string delimiter] )

4、preg_replace()函数

代码语言:javascript
复制
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )

5、preg_replace_callback()函数

代码语言:javascript
复制
mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit] )

6、preg_split()函数

代码语言:javascript
复制
array preg_split ( string pattern, string subject [, int limit ] )
代码语言:javascript
复制
<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>
代码语言:javascript
复制
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()声明数组,通过数组元素赋值声明数组。

代码语言:javascript
复制
array array ( [key => value...])

数组类型:(数字)索引数组 和 (字符串)关联数组

输出数组:

代码语言:javascript
复制
bool print_r ( mixed expression )

数组的构造:一维数组 和 二维数组 遍历数组:foreach结构遍历数组 和 list()函数遍历数组,list()函数只能用于数字索引的数组,且从0开始。

explode()函数和implode()函数

explode()函数将字符串转换成数组

代码语言:javascript
复制
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>
代码语言:javascript
复制
<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()函数将数组转换成字符串

代码语言:javascript
复制
string implode(string glue, array pieces)

统计数组元素个数:

代码语言:javascript
复制
int count ( mixed array [, int mode]) COUNT_RECURSIVE count_recursive

查找数组中指定的值,array_search()函数

代码语言:javascript
复制
mixed array_search ( mixed needle, array haystack [, bool strict])

获取数组中最后一个元素,array_pop()函数 返回数组的最后一个元素

代码语言:javascript
复制
mixed array_pop ( array array)

向数组中添加元素,array_push()函数向数组中添加元素

代码语言:javascript
复制
int array_push ( array array, mixed var [, mixed ...])

删除数组中重复元素,array_unique()函数删除数组中重复的元素。

代码语言:javascript
复制
array array_unique ( array array)

上传多个文件

move_uploaded_file()函数上传文件函数,array_push()函数向数组中添加元素,array_unique()函数用于删除数组中重复的元素,array_pop()函数获取数组中最后一个元素,count()函数获取数组的元素个数。

代码语言:javascript
复制
<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

代码语言:javascript
复制
<?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()函数

代码语言:javascript
复制
<?php
//输出用户登录信息
while(list($name,$value)=each($_POST)){
    if($name!="submit"){
      echo "$name=$value<br>";
    }
}
?>

phpweb开发

表单创建,获取表单数据,参数传递,嵌入PHP脚本,在PHP中获取表单数据,对url传递的参数进行编解码等。

创建表单:

代码语言:javascript
复制
<form name="form_name" method="method" action="url" enctype="value" target="target_win">
</form>
name:表单名称
method:表单提交方式
action:处理表单页面的url
enctype:设置表单的编码方式
target:设置返回信息的显示方式
_blank:新的窗口
_parent:显示在父级窗口
_self:显示在当前窗口
_top:显示在顶级窗口

表单有表单元素组成。

代码语言:javascript
复制
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">
代码语言:javascript
复制
<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
代码语言:javascript
复制
      <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方法

代码语言:javascript
复制
<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[]全局变量,
_POST[]全局变量,

_GET[]全局变量,$_SESSION[]变量,获取表单,url,与session变量的值(保存之后任何页面都可以使用)。

代码语言:javascript
复制
<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的名字是一个数组形式:

代码语言:javascript
复制
<input type="checkbox" name="chkbox[]" value="dashu">
count()计算数组的大小,for循环输出选择的复选框值
代码语言:javascript
复制
<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];
}
?>

获取菜单列表的值

代码语言:javascript
复制
<input type="checkbox" name="chkbox[]" multiple>

获取文件域的值

代码语言:javascript
复制
<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编码

代码语言:javascript
复制
string urlencode( string str)

进行解码

代码语言:javascript
复制
string urldecode( string str)
代码语言:javascript
复制
    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);
    }
代码语言:javascript
复制
<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>
代码语言:javascript
复制
<a href="index.php?id=<?php echo urlencode("http://.com");?>">PHP</a>
<?php
echo urldecode($_GET[id]);
?>

结言

好了,欢迎在留言区留言,与大家分享你的经验和心得。

感谢你学习今天的内容,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友,感谢。

感谢!承蒙关照!您真诚的赞赏是我前进的最大动力!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 复选框
  • 结言
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档