美文网首页
PHP第三节

PHP第三节

作者: 风越大心越荡 | 来源:发表于2017-06-17 17:26 被阅读0次

    赋值运算

    $a++; 先赋值在加加
    $a=0;
    $b=$a++;
    echo $b //显示0


    ++$a 先加加载赋值
    $a=0;
    $b=++$a;
    echo $b//显示1

    逻辑运算符

    xor 异或 相同为false 不同为true
    $a=true;
    $b=false;
    $res= ($a xor $b);
    var_dump($res) //显示bool(true)

    比较运算符

    <>不等于
    ==全等于(两个比较内容里,类型也要比较);!==全不等;

    Math函数

    $num=mt_rand(1,10);//随机1到100的随机数
    $num=mt_pow(x,y);// 返回x的Y的次方;
    三元运算
    $res= $num>5? "{$num}大于5": $num;
    echo $res;

    运算符优先级

    运算符优先级

    循环语句

    <?
      switch(表达式){
          case :
              执行语句;
              break;
        dafault:
          break;
    };
     $num=5;
    
    while($num>5){
        echo "{$num}大于5";
    };                            //   不显示  先判断 在执行;
    do{
         echo "{$num}大于5";
     }while($num>5);    //显示5大于5   先执行在判断
    
    foreach 循环
    $arr=array("姓名"=>"张灿","年龄"=>"18","身高"=>"178cm");
    foreach( $arr as $k => $v ){
       echo $v."---------".$arr[$k]."<br>";
           echo  $k.":".$v."<br>";
            if($k=="姓名"){
                $v="李四";
    };       
    };      
    显示
    张灿---------张灿
    姓名:张灿
    18---------18
    年龄:18
    178cm---------178cm
    身高:178cm
    
     $num=0;
     while($num<10){
     $num++;
    if($num==3){
    continue;    //跳出本次循环
    }else if($num>4){
    break;    //阻止全部循环
    }else{
    echo $num;   
    };
    };   //显示 124
    ?>
    

    函数

    PHP中函数名不区分大小写

    function test(){

     echo "我是test函数";
    

    };
    TEST();

    函数参数默认值

    function test($a="你好",$b="世界"){
    echo $a.$b;
    };
    test(); // 显示 你好世界 ;不传参数时候使用默认值 ,传参时候不适用默认值
    test("hello","word");// 显示 helloWord;

    函数传值和传址

    $c=5;
    function test($a){ //这样是传值
    $a=10;
    };
    test($c);

    echo $c; //显示5
    $c=5;
    gunction test(&$a){ //这样是传址
    $a=10;
    };
    test($c);
    echo $c; // 显示 10

    函数的作用域

    $a=10;
    $fn= function ($b){
    echo $b; //函数里边想得到$a 要传进去 或者global 声明全局变量 函数里边的作用域拿不到外面的变量
    };
    $fn($a); // 不支持 多个函数名重载 和关键字; 匿名函数结尾要加;号

    递归

    function test($num){
    $num--;
    echo $num;
    if($num>0){
    test($num);
    }else{
    return; //可以阻止程序执行
    };
    };
    test(5); // 显示43210 ;

    静态变量

    静态变量 记住上一次的值 常驻内存 static 声明静态变量 把值保存在内存

    <? 
    function test(){   
    static $num=5;
    $num--;
    echo $num;
    if($num>0){
    test();
    }else{
    unset($num);           //unset()销毁静态变量
     return;
    };
    };
    test();   //显示43210
    ?>
    

    数组排序

    注意:排序是按照按照ascll码来排序的

    1.数组的操作
    unset($arr[0])删除数组某个元素
    print_r($arr); 打印数组
    count($arr)取得数组大小
    in_array(10,$arr); 检查数组中包含某个值

    1.根据值来排序

    <?
      值正序排列            sort()
    $arr3[]="c";
    $arr3[]="a";
    $arr3[]="b";
    $arr3[]="e";
    print_r($arr3);
    echo "<br>";
    sort($arr3);
    print_r($arr3);   
    显示     Array ( [0] => c [1] => a [2] => b [3] => e ) 
            Array ( [0] => a [1] => b [2] => c [3] => e )
    
    值反序排列           rsort()
    $arr3[]="c";
    $arr3[]="a";
    $arr3[]="b";
    $arr3[]="e";
    print_r($arr3);
    echo "<br>";
    rsort($arr3);
    print_r($arr3);
    显示
    Array ( [0] => c [1] => a [2] => b [3] => e ) 
    Array ( [0] => e [1] => c [2] => b [3] => a )
    ?>
    

    2.根据下标来排序

      下标正序排序          ksort();
    <?
    $arr3["B"]="你好";
    $arr3["A"]="荷花";
    $arr3["a"]="hello";
    $arr3["c"]="word";
    print_r($arr3);
    echo "<br>";
    ksort($arr3);
    print_r($arr3);
    显示
    Array ( [B] => 你好 [A] => 荷花 [a] => hello [c] => word ) 
    Array ( [A] => 荷花 [B] => 你好 [a] => hello [c] => word )
    
    下标反序排列           krsort();
    $arr3["B"]="你好";
    $arr3["A"]="荷花";
    $arr3["a"]="hello";
    $arr3["c"]="word";
    print_r($arr3);
    echo "<br>";
    krsort($arr3);
    print_r($arr3);
    显示
    Array ( [B] => 你好 [A] => 荷花 [a] => hello [c] => word ) 
    Array ( [c] => word [a] => hello [B] => 你好 [A] => 荷花 )
    ?>
    

    字符串

    1.统计字符串的长度

    <?
        $a="你好";
        $res= strlen($a);
        echo $res;      //显示6
        
      显示多个字符串
      echo "hello","wrod"; //显示hellowrod
        
    ?>
    

    2.字符串变大小写

    <?
            变小写   strtolower()
    $str="fdadsadaasdASDADSASDADASDs";
    $res=strtolower($str);
    echo $res;  //显示 fdadsadaasdasdadsasdadasds
    -------------------------------------------------------------------------
          变大写    strtoupper()
    $str="fdadsadaasdASDADSASDADASDs";
    $res=strtoupper($str);
    echo $res;  //显示   FDADSADAASDASDADSASDADASDS
    ?>
    

    3.查询需要查询内容第一次出现的位置
    只针对字符串 一个空格占一个字符 区分大小写 strpos()

    $res= strpos("hello wordor","or" );
    echo $res; 显示7


    函数中有 i 是否对大小写敏感 不区分大小写 stripos()
    $res= stripos("hello wordor","OR" );
    echo $res; 显示 7

    4.要替换的字符串 str_replace()

            $str="asdweedcdf--dafsdds";
            $res= str_replace("--","**",$str);     $res= str_ireplace("--","**",$str)  带i的只是不区分大小写
            echo $res;    显示  asdweedcdf**dafsdds
    

    5.字符串截取
    substr()
    strstr() 根据字符串来获取前、后字符串
    截取的时候,截取的长度小于字符串长度对乱码,针对中文;

    $str="你好";
    第一个参数为对象
    第二个参数从什么位置开始截取 第三个参数截取的位数
    $res=substr($str,0,2);/ $res=substr($str,0,6);
    echo $res;
    显示 乱码 / 你好

           $str="erqdasffffrefsdsasdvs";
           $res= strstr($str,"ffff",false);   //默认false 取后面的字符串   true取前面的字符串
            stristr()  不区分大小写
           echo $res;    显示ffffrefsdsasdvs
    

    6.删除系统预定义的字符串

    $str="   dasdadsadas     "; 
    echo "(".$str.")<br>";
    $res= ltrim($str);       // 去掉左边的字符串 左边的空格
    $res= rtrim($str);          //  去掉右边的字符串  
    echo "(".$res.")";
    $res= trim($str);       // 去掉全部空格
    

    7.字符串倒叙排列
    strrev()

    $str= "faadafdf";
    $res= strrev($str);
    echo $res;
    显示      fdfadaaf
    

    8.将换行符转化为HTML标签

    $str= "fdaa
    asdasd
    asda";
    $res = nl2br($str);    //转化为<br>标签
    echo $res;
    

    9.去掉字符串里的标签
    strip_tags()

    $str="<h1>我是H1标签</h1>";
    echo $str."<br>";
    $res=strip_tags($str);
    echo $res;      
    

    显示
    <h1>我是H1标签<h1>
    <h6 >我是H1标签<h6>

    10.把预定义的字符转化成HTML实体
    用于评论区的留言

    $str="<h1>我是H1标签</h1>";
    $res=htmlspecialchars($str);  //把预定义的字符转换为 HTML 实体。
    echo $res;
    显示
    <h1>我是H1标签</h1>
    

    预定义字符
    预定义的字符是:
    & (和号)成为 &
    " (双引号)成为 "
    ' (单引号)成为 '
    < (小于)成为 <
    (大于)成为 >

    11.字符串的割接 和 拼接
    explode()割接
    implode()拼接

    $str="adsdasdas-dfdssfadsf";
    $arr= explode("-",$str);  // 切割成数组      以 -  切割成数组
    print_r($arr);
    显示
    Array ( [0] => adsdasdas [1] => dfdssfadsf )
    --------------------------------------------------------------------
    $newstr=implode("*",$arr);//  将数组拼接成字符串     根据给定字符来拼接
    echo $newstr;
    显示
    adsdasdas*dfdssfadsf
    

    数据转化成JSON

    json_encode() 编码
    json_decode() 解码
    解码---将JSON数据解析成数组或者对象 第二个参数为true 转化成数组 默认false 转换成对象

    关联数组会转换成对象 默认
    索引数组会转换成数组 默认

    $arr=["张三","李四","王二","hehe","wrod"]; 
    $arr=["name"=>"张三","age"=>"18"];
    $str=json_encode($arr);    //编码         
    echo $str."<hr>";
    显示      {"name":"\u5f20\u4e09","age":"18"}
    
    
    $obj=json_decode($str,true);    //解码
    print_r($obj);
    print_r($obj->name);  //调用方法
    显示        Array ( [name] => 张三 [age] => 18 ) 
    

    相关文章

      网友评论

          本文标题:PHP第三节

          本文链接:https://www.haomeiwen.com/subject/thomqxtx.html