• PHP的简单了解


    PHP

    标识符/关键字/数据类型

    标识符:其实标识符就是变量的名称,函数与类的名称也是标识符。PHP中标识符的规则:
    1.标识符可以是任意长度的字母、数字、下划线,且不得以数字开头。
    2.PHP中标识符是区分大小写的,但函数名是个例外。
    3.变量名可以与函数名相同。但应尽量避免。
    4.不能创建与已有函数同名的函数。
     
    值得注意的是PHP不要求在使用前就一定要声明标识符;
     
    PHP有很多内置的标识符,例如:$_REQUEST,$SERVER等等, 这些标识符都和和JS中的方法例如(alert(),indexOf...)一样会实现一些功能,做一些事情,这些东西我们可以把它理解为一个工具,比如菜刀、螺丝刀,指甲刀,都是用来做某些事情的。

    关键字:

    共有85个关键字,这些关键字都会实现一些功能; 类似于js中的typeof,这里我们可以看到很多熟悉的身影; 例如 case break continue ..这些针对循环的关键字;
     
    and  or  xor  __FILE__ extends  __LINE__  array()  as  break  case  class  const  continue  declare  default  die()  do  echo  else  elseif  empty()  enddeclare  endfor  endforeach  endif  endswitch  endwhile  eval()  exit()  extends  for  foreach  function  global  if  include  include_once  isset()  list()  new  print  require  require_once  return  static  switch  unset()  use  var  while  __FUNCTION__  __CLASS__  __METHOD__
     
    final(PHP 5)  php_user_filter(PHP 5)  interface(PHP 5)  implements(PHP 5)  exception(PHP 5)  public(PHP 5)  private(PHP 5)  protected(PHP 5)  abstract(PHP 5)  clone(PHP 5)  try(PHP 5)  catch(PHP 5)  throw(PHP 5) this(PHP 5 only)

    输出方法echo和print

        echo的速度快于print ,echo没有返回值,而print有返回值,且返回值总为1。
        <?php
            echo 'hello word<br>';
            print 'hello word';
        ?> 
        输出结果为:hello world
                  hello world
    
        die()  >> 输出一条消息,并退出当前脚本。//相当于 return的结束当前函数的功能

    函数

    其实PHP最经典,也是最核心的地方就是函数,PHP提供了超过一千种內建函数,参考手册点击前往;

    作用域:
      1.局部变量;
        函数中的参数也是局部变量;
        <?php
            $x=5; // 全局变量
            function myTest(){
                $y=10; // 局部变量
                echo "<p>测试函数内变量:<p>”;
                echo "变量 x 为: $x”;
                echo "<br>”;
                echo "变量 y 为: $y”;
            }
            myTest();
            echo "<p>测试函数外变量:<p>”;
            echo "变量 x 为: $x”;
            echo "<br>”;
            echo "变量 y 为: $y”;
        ?>
      2.全局变量:
        <?php
            $x=5;
            $y=10;
            function myTest(){
                global $x,$y;  //利用这个关键字声明的变量是全局变量;
                $y=$x+$y;
            }
            myTest();
            echo $y;   // 输出 15
        ?>
    
      3.Static 作用域(JS中的闭包);
        局部变量在运行结束之后会被删除,再次重新声明时会被重新赋值,但是static类变量不会,他会一直存在于php的变量中;
        <?php
            function fnName(){
                static $x = 11;
                echo $x;
                $x++;
            }
            fnName();
            fnName();
        ?>

    数组

    1.什么是数组?
        用来储存多个数据的数据类型;
    
    2.创建数组:
        $arr = array(1,2,3,4,5);
    
    3.使用数组:
        $arr[0]    //1
        $arr[1]    //2
        
    手动数组赋值:
        $arr[0] = 11;
    
    数组相关方法:
        获取数组长度:count()函数;
        count($arr);//返回数组长度;
    
        这样我们就可以写for循环了,数组中的内容我们就可以遍历出来了;
    
        for($x = 0 ; $x < count($arr) ; $x++){
            echo $arr[$x];
        }
    
    php关联数组:(用=>链接起来)
    
        $testArray = array('name' => 'liyang','age' => 18 );
        echo 'liyang age is '.$testArray['age'];
    
    数组排序:
        sort() :升序排列; rsort() :降序排列;
    
    遍历关联数组:foreach();
         
        foreach()第一个参数为数组>> foreach($arr);
    
        foreach()第二个参数为关键字as代表在数组中找到的值赋给后面的变量 >> foreach($arr as);
    
        foreach()第三个和第四个参数为key和value ;也就是关联数组中的键和值 用 => 链接 >> froeach($arr as $key => value);
         
        $arr = array('firstName' => 'yang', 'lastName' => 'huaizhi’);
        foreach ($arr as $key => $value) {
            echo $key.'<br>';
            echo $value.'<br>';
        }
    
        foreach() 会执行两次,因为数组中有两对数据,如果数组中的数据有n个那么foreach就执行n次;
    
        键值一一对应,根据颜色来查看;

    对象

    1.类与对象;
        <?php
            class show{
                var $hello = "hello”;
                function showMe(){
                    echo $this->hello . " world";
                }
            }
            $me = new show();
            $me -> showMe();
        ?>
    
    PHP中 用class 命名一个对象, 这个对象里面可以有属性和方法, 属性的命名方式为 var $变量名 = 变量值;
    
    在类中使用这个变量的时候使用 $this 指向当前类。 $this -> 变量名(直接写变量名); 
    
    实例化类的时候,用new关键字;
    
    调用内部方法的时候 使用 ->

    返回JSON格式数据

        json_encode()方法进行json格式的转码;
                接收一个关联数组,返回值就是json格式的数据
                作用:就是将关联数组转换成json格式的数据

    数据库

         数据库是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以我们使用关系型数据库管理系统,来存储和管理大量的数据。
     
         所谓关系型数据库,是建立在关系模型基础上的数据库,借助与集合代数等数学概念和方法来处理数据库中的数据。
         其特点为:
         1.数据以表格形式出现;
         2.每行为各种记录的名称;
         3.每列为记录名称所对应的数据域;
         4.许多行和列组成一张表单;
         5.若干的表单组成database
     
     
         数据库:数据库是一些关联表的集合;
     
         数据表:表是数据的矩阵,在一个数据库中的表看起来像是一个简单的电子表格;
     
         列:一列数据元素,包含了相同的数据;字段
     
         行:一行记录,是一组相关的数据;记录
     
         主键:是唯一的,一个数据表只能包含一个主键,可以用主键查询数据;
     
         MySQL是一个开源的关系型数据库管理系统。目前属于Oracle公司。
     
     
    数据库中的数据类型
         整型:
    类型 存储范围 字节
    TINYINT
    有符号值:-128到127(-2^7到2^7-1)
    无符号值:0到255(0到2^8-1)
    1
    SMALLINT
    有符号值:-32768到32767(-2^15到2^15-1)
    无符号值:0到 65 535(0到2^16-1)
    2
    MEDIUMINT
    有符号值:-8388608到8388607(-2^23到2^23-1)
    无符号值:0到 16 777 215(0到2^24-1)
    3
    INT
    有符号值:-2147483648到2147483647(-2^31到2^31-1)
    无符号值:0到 4 294 967 295(0到2^32-1)
    4
    BIGINT
    有符号值:-922337203685477808到922337203685477807(-2^63到2^63-1)
    无符号值:0到 18 446 744 073 709 551 615(0到2^64-1)
    8
     
     
    浮点型
    类型 存储范围 字节
    FLOAT(4,1)
    有符号:(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)
    无符号:0到(1.175 494 351 E-38,3.402 823 466 E+38)
    4
    DOUBLE
    有符号: (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
    无符号: 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
    8
     
    日期时间型:
    类型
    大小
    (字节)
    范围 格式 用途
    DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
    TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
    YEAR 1 1901/2155 YYYY 年份值
    DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
    TIMESTAMP 4
    1970-01-01 00:00:00/2038
    结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07
    YYYYMMDD HHMMSS 混合日期和时间值,时间戳
     
     
    字符型:
    类型 大小 用途
    CHAR 0-255字节 定长字符串
    VARCHAR 0-65535 字节 变长字符串
    TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
    TINYTEXT 0-255字节 短文本字符串
    BLOB 0-65 535字节 二进制形式的长文本数据
    TEXT 0-65 535字节 长文本数据
    MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
    MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
    LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
    LONGTEXT 0-4 294 967 295字节 极大文本数据
     
     

    在PHP中使用MySQL

         连接数据库管理系统函数:
            $link = new mysqli(host,username,password,dbname);
              参数释义:
                   host,mysql的主机名或ip地址
                   usernane,mysql用户名
                   pasword,mysql密码
                   dbname,要操作的数据库名
              返回值:
                   当连接成功时返回连接标识符
                   当连接失败时返回false
            连接失败:
                echo $link->connect_error;
    
         设置字符集:
              $link->set_charset("utf8");
    
         查询语句(执行一条sql语句):
              $link->query(sql命令);
         
         插入数据:
              $query1 = "insert tb_name (字段名) values(对应值)";
              $link->query($query1);
    
         更新数据:
              $query2 = "update tb_name set 字段名=值 where 条件";
              $link->query($query2);
    
         删除记录:
              $query3 = "delete from tb_name where 条件"
              $link->query($query3);
    
         查询记录:
              $query4 = "select * from tb_name";
              $res = $link->query($query4);
             
              索引数组+关联数组查看数据:$res->fetch_array()
              索引数组查看数据:$res->fetch_row();
              关联数组查看数据:$res->fetch_assoc();        √
              对象方式查看数据:$res->fetch_object();
              以上四种方式每次执行返回一条记录的数据,可配合循环多次执行,查询所有数据
              
         断开数据库的函数:
              $link->close();
              断开连接
              程序执行完毕自动断开,可省略不用
     
         插入记录(创建字段下的数据):
              INSERT tb_name (col_name,...) VALUES(val,...);
         查找记录:
              SELECT col_name,... FROM tb_name;
         更新记录UPDATE:
              UPDATE tb_name SET age = age + 5, sex = 2 WHERE username='TOM’;
         删除记录DELETE:
              DELETE FROM tb_name WHERE id=2;
     
         排序:SELECT * FROM stu ORDER BY 笔试 LIMIT 0,8
     
     
     
     
  • 相关阅读:
    程序员版狂人日记二 .
    [骑行小记1]骑在上海
    启动/关闭xp_cmdshell
    脑力风暴之小毛驴历险记(3)低进高出的小鸡(上)
    如何查看SQL Server的实例名(转载)
    MSBuild 项目属性以及任务参考
    SQL update 语句中使用表别名&&查找占用数据库的进程
    [当算法遇上数学]元芳,你怎么能随即生成m个数,让其和等于n?(加强版)
    IIS error: Service Unavailable : HTTP Error 503. The service is unavailable
    SQL with(nolock)详解 [转]
  • 原文地址:https://www.cnblogs.com/wuziqiang/p/12077282.html
Copyright © 2020-2023  润新知