zoukankan      html  css  js  c++  java
  • PHP基础之常量与变量

    1、变量:用来存储信息的空间大小 $var

    2、常量:定义之后不可以更改,标识符,并且给其赋值,常量是全局,在整个页面中均可使用,常量一般有英文字母、下划线、数字组成,开头不能是数字和$
      使用define(常量的key,常量的value,true/flase)定义,define(number,2)
      true/false:大小写问题,true--->大小写不敏感,默认是true
      define(str,“icq”);
      echo STR; 不能打印不出 icq
    3、字符串 “ ” ‘ ’
      字符串中有需要引号的地方要用单引号“ ‘ ’ ”或者“ ”" "

      使用 . 拼接字符串
      strlen() 计算字符串长度
      strops(字符串,需要寻找的字符串) 查找字符串,返回首次索引的位置

    4、运算符:+ - * / %(取余)
      整除 echo intdiv(4,3)
        php7.3.4nts>php.exe -R "var_dump(intdiv(4,3));"
      赋值运算符 =     +=     -=   *=      /=     %=   .=(转化成字符串,拼接在一起)
      自增自减 (i=8)
        $a=i++ $a=8 i=9 先赋值,后加一
        $a=++I $a=9 i=9 先加一,后赋值
        $a=--I $a=7 i=7 先减一,后赋值
        $a=i-- $a=8 i=7 先赋值,后减一
      比较运算符
        == 等于  ===绝对等于    !=或者<>不等于    !==绝对不等于   <     >    <=  >=
      逻辑运算符
        && and 与
        || or 或
        ! 非
        xor 异或(有且只有一个为真时,则结果为真) 相同为0,不同为1
      三元运算符:

        条件?表达式1:表达式2---->条件为真时,执行表达式1,条件为假时,执行表达式2
        isset($get_value)判断$get_value是否有值,为NULL时返回false
        表达式1??表达式2 如果表达式1有值,则返回它的值,如果没有值,则执行表达式2(PHP7)
        $i=$a<=>$b 太空船操作符,如果$a大,则$i=1;如果$b大,则$i=-1;如果相等,则$i=0(PHP7)

    5、简易Web服务:IIS apache nginx tomcat
      PHP: php -S 0.0.0.0:port
      Python2: python -m SimpleHTTPServer port (默认端口为8000)
      Python3: python -m http.server port

    6、条件判断:
      if(条件){条件成立时执行的代码;}
      if(条件){条件成立时执行的代码;}else{条件不成立时执行的代码;}
      if(条件){条件成立时执行的代码;}elseif elseif else

      switch

    <?php  
    echo "<meta charset='utf-8'>";  
    $color=$_GET['color'];  
    switch ($color) {  
        case 'red':  
            echo "红色";  
            break;  
        case 'green':  
            echo "绿色";  
            break;  
        default:  
            echo "喜欢的颜色不在这";  
            break;  
    }  
    ?>  

    7、循环:
      for(初始值,条件,增量){要执行的} 循环

    <?php
    echo "<meta charset='utf-8'>";
    for ($i=0; $i < 5; $i++) { 
        echo "当前数字为:".$i."
    
    ";
    }
      ?>

      foreach 循环

    <?php
    echo "<meta charset='utf-8'>";
    $array = array("one","two","there","for");
    foreach ($array as $value) {
        echo $value."
    
    ";
    }
    ?>
    <?php
    $array = array("one","two","there","for");
    $arr=array('one' =>1 ,"two"=>"2","three"=>true,"te"=>2e-10 );
    foreach ($arr as $key => $value) {
        echo $key." is ".$value."
    
    ";
    }
    ?>

      while 循环

    <?php
    echo "<meta charset='utf-8'>";
    $i=0;
    while ($i<=10) {
        echo "Number is".$i."
    
    ";
        $i++;
    }
    ?>

      do while 循环

    <?php
    echo "<meta charset='utf-8'>";
    $i=1;
    do {
        echo "Number is".$i."
    
    ";
        $i++;
    } while ( $i <= 10)
    ?>

    8、数组: print_r(); 可以打印数组
        在单个变量中储存多种类型的值
      类型:数字型数组,关联型数组(键值对数组)、多维数组
      数字型数组
        $array=array("1",123,1.24,ture)
        下标是从0开始的,长度使用count()函数计算,遍历使用for/foreach
      关联型数组:
        $array=array("k1"=>value1,"k2"=>value2)
        下标是键,k1,k2,遍历数组使用for/foreach
      多位型数组:
        $array=array(array(1,2,3),array(4,5,6),array(7,8,9));
      数组的排序:
        升序:sort() 降序:rsort()
        针对关联型数组的值,升序:asort()
        针对关联型数组的值,降序:arsort()
        针对关联型数组的键,升序:ksort()
        针对关联型数组的键,降序:krsort()

    9、超级全局变量:
      $GLOBALS //包含全部变量的全局组合数组

    <?php
    $a=1;
    $b=8;
    function add()
    {
        $GLOBALS['c']=$GLOBALS['a']+$GLOBALS['b'];
    }
    add();
    echo $GLOBALS["c"];
    ?>

      $_SERVER //包含请求头中信息,用户的IP、用户UA、头信息等等

    <?php
    echo $_SERVER["PHP_SELF"]."<br>";
    echo $_SERVER["SERVER_NAME"]."<br>";
    echo $_SERVER["HTTP_REFER"]; //在那个页面跳转过来
    echo $_SERVER["HTTP_USER_AGENT"]; //服务器的版本
    ?>

      $_REQUEST //包含用户提交的所有数据(POST/GET/COOKIE等)
      $-POST //包含用户POST方式发过来的数据
      $_GET //包含用户GET方式发过来的数据
      $_FILES //包含用户发过来的文件对应的数据
      $_EVN //包含服务端环境变量的数组
      $_COOKIE // 包含COOKIE中的数据
      $_SESSION //包含了session中的数据

    10、cookie和session的比较:

    • cookie是存放在用户的浏览器中,是服务端通过返回包中set-cookie设置,cookie表示用户的浏览器和服务器之间会话状态,登录成功后方可获取cookie数据,该数据一般具有时效性,失效之后需要用户重新去登录。有了cookie数据之后,用户的每次请求都会带上cookie,服务端会验证该cookie的合法性和时效性,cookie的发送需要遵循浏览器的同源策略。
    • session是存放在服务端的,表示用户和服务器时间的会话状态,session和cookie是一一对应的,服务器也需要记住哪个用户登录了该站点,一般情况下,session以文件的形式保存在/tmp文件中,形式为sess_XXX,例如:sess_5mt9vacml24gp0j5eru386iuf5,此刻服务器给浏览器分配的cookie是:5mt9vacml24gp0j5eru386iuf5,只要该cookie被修改过,那么服务器就要求用户重新登录。

    11、有意思的常量(预定义常量):

      __LINE__;             表示所在的行号
      __FILE__ ;               表示当前文件的路径及文件名
      __DIR__;                  表示当前文件的路径
      __FUNCTION__;      表示当前定义的函数名
      __CLASS__;             表示当前类名

  • 相关阅读:
    C# Access2003操作辅助类(AccessHelper.cs)
    校园网综合管理系统(一)
    使用Devexpress开发简单进销存系统(1)数据库的建立
    软件测试(一):测试基础和缺陷管理
    异步多线程
    服务器下载文件到本地,更新服务器文件
    WCF深入浅出学习1
    利用Oracle 发送邮件(utl_smtp)
    多线程之 ThreadStart 和 ParameterizedThreadStart 委托
    javascript实现的google日历,beehive.calendar.js v0.1
  • 原文地址:https://www.cnblogs.com/yuanshu/p/11643818.html
Copyright © 2011-2022 走看看