PHP基础:运算符、字符串处理、解析符号、数组

运算符=============================================================================
一、算数运算符:数字型与字符型的数字 是可以用算术运算符运算的  结果的类型是数字型
        1、运算符
    + :数字求和
    -  :数字减法、对数字取相反数
    *  :乘
    /   :除
    % :取余
  2、复合赋值运算符
    +=、-=、*=、/=、%=、.=
二、自增与自减
  1、功能
    ++:对运算数进行递增操作
    --  :对运算数进行递减操作
  2、位置
    在运算数之前,先递增或递减,再赋值
      $i = 1;
      $a = i++;  //$a = 1;  此时i为2,但赋给a的是1
    在运算数之后,先赋值,再递增或递减
      $i = 1;
      $a = ++i;  //$a = 2; 先执行i加1 再赋值给a
三、关系运算符
  1、大小关系检测
    >、>=、<、<=
    满足返回true,不满足返回false
  2、等值关系检测
    ==、!=、<>(不等):判断返回值是否相等或者不等
    ===、!==:判断返回值及返回类型是否相等或者不等
    $aa = 10;
    $bb = "10";
    alert($aa === $bb);
  3、逻辑运算符
    与(and、&&):如果 x 和 y 都为 true,则返回 true
    或(or、||):如果 x 和 y 至少有一个为 true,则返回 true
    异或(xor、!):如果 x 和 y 有且仅有一个为 true,则返回 true
四、三元运算符
  表达式:? expr1: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
    $max = a>b?a:b;
五、数组运算符
  1、x + y:集合
    x 和 y 的集合
  2、x == y:相等
    如果 x 和 y 具有相同的键/值对,则返回 true
  3、x === y:恒等
    如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
  4、x != y:不相等
    如果 x 不等于 y,则返回 true
  5、x <> y:不相等
    如果 x 不等于 y,则返回 true
  6、x !== y:不恒等
    如果 x 不等于 y,则返回 true

字符串处理函数======================================================================
一、去除空格
  1、trim(string) 去除字符串两边空格
  2、ltrim(sring,'特殊字符') 去除字符串左边空格和特殊字符(特殊字符是可选参数)
  3、rtrim(sring,'特殊字符') 去除字符串右边空格和特殊字符(特殊字符是可选参数)
    $str="(:@_@ hello world! @_@:)";
    $a=ltrim($str);//去掉左边空格
    $aa=ltrim($str,"(:@_@ ");//去掉左边空格和左边的特殊字符(:@——@
    $b=rtrim($str);//去掉右边空格
    $bb=rtrim($str," @_@:)");//去掉右边空格和特殊字符@_@:)
    $cc=ltrim($str,"(:@_@ hell");//去掉左边的(:@——@和hell
    echo $str."<br>".$a."<br>".$aa."<br>".$b."<br>".$bb."<br>".$cc;
二、字符串截取
  1、substr(字符串名,截取开始位置,截取长度)
    $str="百度一下";
    $aa=substr($str,1,2);
    echo $aa;

  2、mb_substr($str,0,4,'utf8'):中文字符截取
三、字符串分割
  explode():返回值存到数组中,即返回数组
    $str="hello|world|i|am|com";
    $aa=explode("|",$str);//以“|”为分割界限,对字符串进行分割
    var_dump($aa);//查看一下是不是数组
    echo $aa[2];//返回数组的索引2;
四、字符串合成
  implode() 又名join():返回字符串
    $str="hello|world|i|am|com";
    $aa=explode("|",$str);
    var_dump($aa);
    echo $aa[2];
    $bb=implode("@",$aa);//将上边得到的数组$aa,合成得到一个字符串类型的变量$bb,并用“@”把原来数组每一项隔开,组成新字符串
    var_dump($bb);
    echo $bb;
五、字符串替换
  str_replace(替换前的字符,替换后字符,字符串名)
    $str="hello world";
    $aa=str_replace("hell","1234",$str);
    echo $aa;
六、检索字符串中子串出现的次数
  substr_count(字符串名,'查找的字符串')
    $str="aaaabbbbbbbbbbbbbbaaaacccccccccccaaaaffffffffffaaaarrrrrrrrr";
    $aa=substr_count($str,"aaaa");
    echo $aa;//输出4
七、大小写转换
  1、strtoupper()函数--将字符串转换为大写
  2、strtolower()函数--将字符串转换为小写
    $str="Hello World!";
    $str1=strtoupper($str);
    $str2=strtolower($str);
    echo $str1."<br><br>".$str2;
八、获取字符串长度
  strlen()
    $str="Hello World!";
    echo strlen($str);//输出12
九、定位查找
  strops(字符串名,要查找的字符)函数--查找字符第一出线的索引
    $str="aaaabbaaaaaaaaaaaaaaaaaaabbaaaaaaaa";
    $str1=strpos($str,"b");
    echo $str1;//输出4
十、货币数据字符的格式化输出
  number_format()函数--把数字以货币的形式输出
    $str="19846700";
    $str1=number_format($str);
    echo $str1;//输出19,846,700
十一、日期时间的格式化输出
  date()函数 
    echo date("Y-m-d H-i-s");//输出2016-12-14 12-12-52

解析符号========================================================================
一、单引号,单引号中的内容会被直接当成一个字符串,单引号中无法输出变量值
  $a = 'abcd';
    echo '$a';    // 输出结果就是 $a,而不是 abcd
二、双引号,双引号中可以输出简单变量,不能输出复杂变量,否则会报错
  $a = 'abcd';
  $b = array('aaa' => 'abcd');
    echo "$a";    // 输出 abcd,因为双引号中可以解析简单变量
    echo "$b['aaa']";    // 直接报错,因为双引号中不能解析复杂变量
三、花括号,花括号中既可以输出简单变量,也可以输出复杂变量,如数组、对象等;
  $a = 'abcd';
  $b = array('aaa' => 'abcd', 'bbb' => array(12,34));
    echo "{$a}";    // 输出 abcd
    echo "{$b['aaa']}";    // 输出 abcd
    echo "{$b['bbb'][1]}";    // 输出 34

数组==============================================================================
一、定义:数组是一个能在单个变量中存储多个值的特殊变量,并且可以根据键访问其中的值
二、数组分类
  1、索引数组:用数字作为键名的数组一般叫做索引数组
    $cars=array("Volvo","BMW","Toyota");
    echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
  2、关联数组:用字符串表示键的数组就是关联数组
    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    echo "Peter is " . $age['Peter'] . " years old.";
  3、多维数组
    包含一个或者多个数组的数组
三、数组定义方式
  1、$array = array(); 空数组
  2、$array = array(1,2,3,4,5); 索引数组
  3、$array = array(1=>"aa","bb"=>2); 关联数组
四、取值
  1、$array[0]
  2、$array["bb"]
五、遍历数组
  遍历方式:
  1、for循环:只能遍历索引数组
  2、foreach:
    遍历索引:foreach($array as $value)
    遍历关联:foreach ($array1 as $key => $value)
  3、each( ):返回数组中当前的键/值对并将数组指针向前移动一步
    $attr = array('name'=>'zhangsan','age'=>20);
    var_dump(each($attr));//each($attr)[1]  each($attr)[0]
    var_dump(each($attr));//each($attr)[1]  each($attr)[0]
  4、list( ):从数组中取值赋给一组变量
    $attr = array(1,2,3);
    list($a,$b,$c)=$attr; //将右侧数组里面的元素赋值给参数列表里面的变量 
    echo $a,$b,$c;
  5、each( )和list( )结合
    $attr1 = array("one"=>1,"two"=>2,"3"=>3);
    //$attr1 = array(1,2,3);
      while(list($k,$v) = each($attr1)) 
      { 
        /*echo "{$k}--{$v}<br>"; */
        echo $k.'--'.$v; 
      }
  6、使用指针
    current():取得目前指针位置的内容资料
    key():取得目前指针位置的索引值
    prev():将数组的内部指针倒回一位
    next():将数组中的内部指针向前移动一位
    end():将数组的内部指针指向最后一个单元
    reset():将数组的内部指针指向第一个单元
      $attr1 = array("one"=>1,"two"=>2,"3"=>3)
      echo current($attr1); //取指针指向的当前元素的value值
      echo key($attr1); //取指针指向的当前元素的key
      next($attr1); //将指针向下调一个
      prev($attr1); //将指针向上调一个
      end($attr1); //将指针调向最后一个元素
      reset($attr1); //将指针复位
  7、遍历索引数组
    $attr = array(1,2,3);
    for($i=0;$i<count($attr);$i++)
    {
    echo $attr[$i]."<br>";
    }
    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    foreach($age as $x=>$x_value)
    {
      echo "Key=" . $x . ", Value=" . $x_value;
      echo "<br>";
    }
  8、遍历关联数组
    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    foreach($age as $x=>$x_value)
    {
      echo "Key=" . $x . ", Value=" . $x_value;
      echo "<br>";
    }
六、其它常用函数
  1、in_array():检查数组中是否存在某值
      $sites = array("Google", "Runoob", "Taobao", "Facebook");
      if (in_array("Runoob", $sites))
      {
        echo "找到匹配项!";
      }
      else
      {
        echo "没有找到匹配项!";
      }
  2、array_reverse():将数组中的元素顺序翻转,创建新的数组并返回
    $a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
    print_r(array_reverse($a));
  3、count():计算数组中的元素数目或对象中的属性个数
  4、array_unique():删除数组中重复的值并返回新的数组
    $a=array("a"=>"red","b"=>"green","c"=>"red");
    print_r(array_unique($a));
  5、unset($arr[0]):删除数组的某个值
    <?php
    // 销毁单个变量
    unset ($foo);
    // 销毁单个数组元素
    unset ($bar['quux']);
    // 销毁一个以上的变量
    unset ($foo1, $foo2, $foo3);
    ?>
  6、array_values($arr):返回包含数组中所有的值的数组。
    提示:被返回的数组将使用数值键,从 0 开始且以 1 递增。
    $a=array("Name"=>"Peter","Age"=>"41","Country"=>"USA");
    print_r(array_values($a));
  7、array_merge():把两个数组合并为一个数组、给数组重新排序
    $a1=array("red","green");
    $a2=array("blue","yellow");
    print_r(array_merge($a1,$a2));
  8、array_push():在数组尾添加元素
    $a=array("red","green");
    array_push($a,"blue","yellow");
    print_r($a);
    ?>

原文地址:https://www.cnblogs.com/cp123/p/9294482.html