zoukankan      html  css  js  c++  java
  • PHP基础

                      初识    PHP

         php是一种运行在服务端的跨平台的脚本语言。

         PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码

       PHP脚本以<?php 开始,以?>结束
         php也支持<? ?> 不过要修改php.ini文件中short_open_tag = Off 改成short_open_tag = On

    一、 输出语句

    1、echo

    <?php echo "welcome!"; ?>

    echo可以输出一个或者多个字符串,逗号隔开

    <?php echo 'youyi'."最美"; ?>

    使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。

    <?php
       echo "欢迎同学们!";
       echo "Welcome" . " to you!";
       echo 1+2+3+4+5;
    ?>

     2、print输出

    print只能输出一个字符串,成功输出则返回1。

    可以使用括号,也可以不使用括号: print 或 print()。

    3、print_r()

    可以把字符串和数字简单地打印出来,只能输出一个字符串,而数组则以括起来的键和值得列表形式显示,并以Array开头

    4、var_dump()

    判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

    var_dump返回表达式的类型与值而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。

    二、注释

    1、单行注释://  这是PHP单行注释

    2、多行注释:/* 这是PHP多行注释 */

    三、数据类型

    1、数据类型的获取与判断

      a、获取类型gettype()

      b、判断类型is_类型名()

    2、String(字符串)

      a、任何文本放在单引号和双引号中

      b、"hello world"    或者  "hello PHP"

    3、Integer(整型)

      a、整数必须至少有一个数字

      b、整数不能包含逗号或者空格

      c、整数可以是正数或者负数

    4、Float(浮点型)

      a、带小数部分的数字

    5、Boolean(布尔型)

      a、true/false

      b、通常用于判断

    6、Array(数组)

      a、数组可以在一个变量中存储多个值

      b、array('volvo','bmw','toyota')

    7、Object(对象)

      a、对象必须声明

      b、使用class关键字声明类对象

      c、类是包含属性和方法的结构

    <?php
    class Car
    {
      var $color;
      function __construct($color="green") {
        $this->color = $color;
      }
      function what_color() {
        return $this->color;
      }
    }
    ?>

    8、Null(空值)

      a、Null表示变量没有值

      b、Null是数据类型为Null的值

    9、对类型转换的四种方式

      a、对变量的重写:

    <?php
    $aa = 11;
    $aa = 'aa';
    echo gettype($aa);//string
    ?>

      b、intval()  floatval()  strval()

    < ?php  
    $str="123.9abc";  
    $int=intval($str);     //转换后数值:123  
    $float=floatval($str); //转换后数值:123.9  
    $str=strval($float);   //转换后字符串:"123.9"   
    ?>  

      c、(数据类型)变量

     (int)  (bool)  (float)  (string)  (array) (object)
    
    
    
    
    
    
    < ?php  
    $num1=3.14;  
    $num2=(int)$num1;  
    var_dump($num1); //输出float(3.14)  
    var_dump($num2); //输出int(3)  
    ?>  

      d、类型转换settype(变量名,类型)

    <?php
    $num=12.8;
    $flg=settype($num,"int");
    var_dump($flg);  //输出bool(true)
    echo "<br/>";
    var_dump($num); //输出int(12)
    ?>

    四、字符段处理

    1、去除空格

      a、trim(string) 去除字符串两边空格

      b、ltrim(sring,'特殊字符') 去除字符串左边空格和特殊字符(特殊字符是可选参数)

      c、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;

    2、字符串截取

      a、substr(字符串名,截取开始位置,截取长度)

    $str="百度一下";
    $aa=substr($str,1,2);
    echo $aa;

    3、字符串分割

        explode()    返回值存到数组中,即返回数组

    $str="hello|world|i|am|com";
    $aa=explode("|",$str);//以“|”为分割界限,对字符串进行分割
    var_dump($aa);//查看一下是不是数组
    echo $aa[2];//返回数组的索引2;

    3、字符串合成

        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;

    4、字符串替换

        str_replace(替换前的字符,替换后字符,字符串名)

    $str="hello world";
    $aa=str_replace("hell","1234",$str);
    echo $aa;

    5、检索字符串中子串出现的次数

        substr_count(字符串名,'查找的字符串')

    $str="aaaabbbbbbbbbbbbbbaaaacccccccccccaaaaffffffffffaaaarrrrrrrrr";
    $aa=substr_count($str,"aaaa");
    echo $aa;//输出4

     6、大小写转换

        strtoupper()函数--将字符串转换为大写                 strtolower()函数--将字符串转换为小写

    $str="Hello World!";
    $str1=strtoupper($str);
    $str2=strtolower($str);
    echo $str1."<br><br>".$str2;

    7、获取字符串长度

        strlen()        

    $str="Hello World!";
    echo strlen($str);//输出12

    8、定位查找

         strops(字符串名,要查找的字符)函数--查找字符第一出线的索引

    $str="aaaabbaaaaaaaaaaaaaaaaaaabbaaaaaaaa";
    $str1=strpos($str,"b");
    echo $str1;//输出4

    9、货币数据字符的格式化输出

        number_format()函数--把数字以货币的形式输出

    $str="19846700";
    $str1=number_format($str);
    echo $str1;//输出19,846,700

    10、日期时间的格式化输出     date()函数

     echo date("Y-m-d H-i-s");//输出2016-12-14 12-12-52

    五、变量

    1、变量

      $变量名=值

            变量名必须以字母或者下划线开始

            变量只能包含字母、数字和下划线

            变量名是区分大小写的       $y 和 $Y 是两个不同的变量

    2、对变量的一系列判断

      a、isset():判断变量是否已存在  如果有值  返回true  否则返回false

      b、unset():把变量删除(释放)掉

      c、empty():判断变量是否为空

      d、is_null:判断变量是否为NULL

      e、具体判断表:                 

        变量 empty is_null isset
        $a=”” true false true
        $a=null true true false
        var $a true true false
        $a=array() true false true
        $a=false true false true
        $a=15 false false true
        $a=1 false false true
        $a=0 true false true
        $a=”0” true false true
        $a=”true” false false true
        $a=”false” false false true

    3、可变变量

      一个可变变量获取了一个普通变量的值作为这个可变变量的变量名

    六、运算符

    1、算数运算符 

           运算符     + - * /              复合赋值运算符:+= -= *= /= %= .=

    数字型与字符型的数字 是可以用算术运算符运算的  结果的类型是数字型

    2、自增与自减

      ++                         --

    对运算数进行递增操作          对运算数进行递减操作

    在运算数之前,先递增或递减,再赋值:

    $i = 1;
    $a = i++;  //$a = 1;  此时i为2,但赋给a的是1

    在运算数之后,先赋值,再递增或递减

    $i = 1;
    $a = ++i;  //$a = 2; 先执行i加1 再赋值给a

    3、关系运算符

    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

    与     &&     如果 x 和 y 都为 true,则返回 true

    或  ||  如果 x 和 y 至少有一个为 true,则返回 true

    非  !  如果 x 不为 true,则返回 true

    4、三元运算符

    表达式 ? expr1: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

    $max = a>b?a:b;

    5、数组运算符

    x + y  :集合   x 和 y 的集合

    x == y   :相等    如果 x 和 y 具有相同的键/值对,则返回 true

    x === y  恒等     如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true 

    x != y  不相等    如果 x 不等于 y,则返回 true

    x <> y  不相等    如果 x 不等于 y,则返回 true

    x !== y  不恒等    如果 x 不等于 y,则返回 true

    七、字符串处理函数

    1、去除空格

    trim(string) 去除字符串两边空格

    ltrim(sring,'特殊字符') 去除字符串左边空格和特殊字符(特殊字符是可选参数)

    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;

    2、字符串截取

    substr(字符串名,截取开始位置,截取长度)

    $str="百度一下";
    $aa=substr($str,1,2);
    echo $aa;

    3、字符串分割

    explode()      返回值存到数组中,即返回数组

    $str="hello|world|i|am|com";
    $aa=explode("|",$str);//以“|”为分割界限,对字符串进行分割
    var_dump($aa);//查看一下是不是数组
    echo $aa[2];//返回数组的索引2;

    4、字符串合成

    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;

    5、字符串替换

    str_replace(替换前的字符,替换后字符,字符串名)

    $str="hello world";
    $aa=str_replace("hell","1234",$str);
    echo $aa;

    6、检索字符串中子串出现的次数

    substr_count(字符串名,'查找的字符串')

    $str="aaaabbbbbbbbbbbbbbaaaacccccccccccaaaaffffffffffaaaarrrrrrrrr";
    $aa=substr_count($str,"aaaa");
    echo $aa;//输出4

    7、大小写转换

    strtoupper()函数--将字符串转换为大写            strtolower()函数--将字符串转换为小写

    $str="Hello World!";
    $str1=strtoupper($str);
    $str2=strtolower($str);
    echo $str1."<br><br>".$str2;

    8、获取字符串长度

    strlen()          

    $str="Hello World!";
    echo strlen($str);//输出12

    9、定位查找

    strops(字符串名,要查找的字符)函数--查找字符第一出线的索引

    $str="aaaabbaaaaaaaaaaaaaaaaaaabbaaaaaaaa";
    $str1=strpos($str,"b");
    echo $str1;//输出4

    10、货币数据字符的格式化输出

    number_format()函数--把数字以货币的形式输出

    $str="19846700";
    $str1=number_format($str);
    echo $str1;//输出19,846,700

    11、日期时间的格式化输出     date()函数

    echo date("Y-m-d H-i-s");//输出2016-12-14 12-12-52

    八、数组

    1、数组是一个能在单个变量中存储多个值的特殊变量,并且可以根据键访问其中的值

    2、数组分类

    a、索引数组:用数字作为键名的数组一般叫做索引数组

    $cars=array("Volvo","BMW","Toyota");
    echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";

    b、关联数组:用字符串表示键的数组就是关联数组

    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    echo "Peter is " . $age['Peter'] . " years old.";

    c、多维数组:包含一个或者多个数组的数组

    3、数组定义方式

    a、$array = array(); 空数组

    b、$array = array(1,2,3,4,5); 索引数组

    c、$array = array(1=>"aa","bb"=>2); 关联数组

    4、取值

          $array[0]               $array["bb"]

    5、遍历数组

      遍历方式:

    for循环    只能遍历索引数组

    foreach    遍历索引      foreach($array as $value)

            遍历关联    foreach ($array1 as $key => $value)

    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]

    list( )    从数组中取值赋给一组变量

    $attr = array(1,2,3);
    list($a,$b,$c)=$attr; //将右侧数组里面的元素赋值给参数列表里面的变量 
    echo $a,$b,$c;

    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; 
            }

    使用指针

    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); //将指针复位

    九、php中单引号、双引号、花括号

    单引号,单引号中的内容会被直接当成一个字符串,单引号中无法输出变量值

    $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
  • 相关阅读:
    java-实现两种排序方法
    暑假,一遍一遍敲代码吧!
    java学习-如何定义一个函数及其简单练习
    关于函数重载的理解
    java学习中关于函数的练习
    在校大三学生,真心想学好计算机。可是,,,,没有目标,。。。。。。
    伪分布式网络爬虫框架的设计与自定义实现(一)
    网站架构成长路程之 箴言
    使用asp.net mvc + entityframework + sqlServer 搭建一个简单的code first项目
    使用visualStudio2017创建一个简单的控制台程序
  • 原文地址:https://www.cnblogs.com/zhengleilei/p/9163695.html
Copyright © 2011-2022 走看看