zoukankan      html  css  js  c++  java
  • Php基本语法数据类型操作基础训练

    <?php
    
    /*
     * Created on 2015年12月17日
     *
     * To change the template for this generated file go to
     * Window - Preferences - PHPeclipse - PHP - Code Templates
     */
    #--------------打印-------echo - 能够输出一个以上的字符串,print - 只能输出一个字符串,并始终返回 1---------------
    echo "我的第一段 PHP 脚本!";
    print "I'm studying php now.'";
    #--------------打印----------------------
    
    #--------------注释----------------------
    // 这是单行注释
    # 这也是单行注释
    /*
    这是多行注释块
    它横跨了
    多行
    */
    #--------------注释----------------------
    
    # -------------if、else、echo 等等都对大小写不敏感---------
    ECHO "Hello World!<br>";
    echo "Hello World!<br>";
    EcHo "Hello World!<br>";
    # -------------if、else、echo 等等都对大小写不敏感---------
    
    #--------------------常量:常量是单个值的标识符(名称)。在脚本中无法改变该值。--------------------------
    #创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":
    define("GREETING", "Welcome to W3School.com.cn!");
    echo GREETING;
    #创建了一个对大小写不敏感的常量,值为 "Welcome to W3School.com.cn!":
    define("GREETING", "Welcome to W3School.com.cn!", true);
    echo greeting;
    #--------------------常量--------------------------
    
    #---------------------变量--------------------------
    $x=5;
    $y=6;
    $z=$x+$y;
    echo $z;
    #---------------------变量--------------------------
    
    #--------------------所有变量都对大小写敏感---------------
    $color = "red";
    echo "My car is " . $color . "<br>";
    echo "My house is " . $COLOR . "<br>";
    echo "My boat is " . $coLOR . "<br>";
    #--------------------所有变量都对大小写敏感---------------
    
    #-----------------------------------------变量的作用域---------------------------------------
    $x=5; // 全局作用域
    
    function myTest() {
      $y=10; // 局部作用域
      echo "<p>测试函数内部的变量:</p>";
      echo "变量 x 是:$x";
      echo "<br>";
      echo "变量 y 是:$x";
    } 
    
    myTest();
    
    echo "<p>测试函数之外的变量:</p>";
    echo "变量 x 是:$x";
    echo "<br>";
    echo "变量 y 是:$x";
    #-----------------------------------------变量的作用域---------------------------------------
    
    #-----------------------------------------local(局部)global(全局)static(静态)---------------------
    #-----------------------------------------global-----------------
    $x=5;
    $y=10;
    
    function myTest() {
      $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
    } 
    
    myTest();
    echo $y; // 输出 15
    #-----------------------------------------static------------------
    function myTest() {
      static $x=0;
      echo $x;
      $x++;
    }
    
    myTest();
    myTest();
    myTest();
    #-----------------------------------------local(局部)global(全局)static(静态)---------------------
    
    #-----------------------------------------数据类型:字符串、整数、浮点数、逻辑、数组、对象、NULL---------------------
    #-------------------字符串是字符序列,比如 "Hello world!"
    $x = "Hello world!";
    echo $x;
    echo "<br>"; 
    $x = 'Hello world!';
    echo $x;
    #-------------------整数是没有小数的数字, var_dump() 会返回变量的数据类型和值
    $x = 5985;
    var_dump($x);
    echo "<br>"; 
    $x = -345; // 负数
    var_dump($x);
    echo "<br>"; 
    $x = 0x8C; // 十六进制数
    var_dump($x);
    echo "<br>";
    $x = 047; // 八进制数
    var_dump($x);
    #-------------------浮点数是有小数点或指数形式的数字, var_dump() 会返回变量的数据类型和值
    $x = 10.365;
    var_dump($x);
    echo "<br>"; 
    $x = 2.4e3;
    var_dump($x);
    echo "<br>"; 
    $x = 8E-5;
    var_dump($x);
    #------------------逻辑是 true 或 false
    $x=true;
    $y=false;
    #------------------数组在一个变量中存储多个值, var_dump() 会返回变量的数据类型和值
    $cars=array("Volvo","BMW","SAAB");
    var_dump($cars);
    #------------------对象是存储数据和有关如何处理数据的信息的数据类型,首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
    class Car
    {
      var $color;
      function Car($color="green") {
        $this->color = $color;
      }
      function what_color() {
        return $this->color;
      }
    }
    #------------------特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。
    $x="Hello world!";
    $x=null;
    var_dump($x);
    #-----------------------------------------数据类型:字符串、整数、浮点数、逻辑、数组、对象、NULL---------------------
    
    #-----------------------------------------字符串函数------------------------------------------------
    #--------------------------strlen() 函数:返回字符串的长度,以字符计
    echo strlen("Hello world!");//输出是:12
    #--------------------------strpos() 函数:用于检索字符串内指定的字符或文本
    echo strpos("Hello world!","world");//例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。
    #-----------------------------------------字符串函数------------------------------------------------
    
    #---------------------------------------- PHP 脚本中的各种运算符:+、-、*、/、%---------------------------------
    $x=10; 
    $y=6;
    echo ($x + $y); // 输出 16
    echo ($x - $y); // 输出 4
    echo ($x * $y); // 输出 60
    echo ($x / $y); // 输出 1.6666666666667
    echo ($x % $y); // 输出 4
    
    $x=10; 
    echo $x; // 输出 10
    
    $y=20; 
    $y += 100;
    echo $y; // 输出 120
    
    $z=50;
    $z -= 25;
    echo $z; // 输出 25
    
    $i=5;
    $i *= 6;
    echo $i; // 输出 30
    
    $j=10;
    $j /= 5;
    echo $j; // 输出 2
    
    $k=15;
    $k %= 4;
    echo $k; // 输出 3
    #---------------------------------------- PHP 脚本中的各种运算符:+、-、*、/、%---------------------------------
    
    #----------------------------------------if...else...elseif 语句---------------------------------------
        #if 语句 - 如果指定条件为真,则执行代码
        #if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码
        #if...elseif....else 语句 - 选择若干段代码块之一来执行
        #switch 语句 - 语句多个代码块之一来执行
    #------------------------------------if-------------------
    $t=date("H");
    
    if ($t<"20") {
      echo "Have a good day!";
    }
    #------------------------------------if else--------------
    $t=date("H");
    
    if ($t<"20") {
      echo "Have a good day!";
    } else {
      echo "Have a good night!";
    }
    #------------------------------------ if....elseif...else---
    $t=date("H");
    
    if ($t<"10") {
      echo "Have a good morning!";
    } elseif ($t<"20") {
      echo "Have a good day!";
    } else {
      echo "Have a good night!";
    }
    #----------------------------------------if...else...elseif 语句---------------------------------------
    
    
    #--------------------------------------------switch:有选择地执行若干代码块之一---------------------------------
    #工作原理:
       # 对表达式(通常是变量)进行一次计算
       # 把表达式的值与结构中 case 的值进行比较
       # 如果存在匹配,则执行与 case 关联的代码
       # 代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
       # 如果没有 case 为真,则使用 default 语句
    
    switch ($x)
    {
    case 1:
      echo "Number 1";
      break;
    case 2:
      echo "Number 2";
      break;
    case 3:
      echo "Number 3";
      break;
    default:
      echo "No number between 1 and 3";
    }
    #--------------------------------------------switch--------------------------------------------------
    
    #--------------------------------------------while----------------------------------------------------
    #在 PHP 中,我们有以下循环语句:
        #while - 只要指定条件为真,则循环代码块
        #do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
        #for - 循环代码块指定次数
        #foreach - 遍历数组中的每个元素并循环代码块
    #------------------------------------while-------------
    $x=1; 
    while($x<=5) {
      echo "这个数字是:$x <br>";
      $x++;
    } 
    #-----------------------------------do while------------
    $x=1; 
    do {
      echo "这个数字是:$x <br>";
      $x++;
    } while ($x<=5);
    #--------------------------------------------while----------------------------------------------------
    
    #---------------------------------------------for ------------------------------------------------------
    #---------------------for------------
    for ($x=0; $x<=10; $x++) {
      echo "数字是:$x <br>";
    } 
    #-------------------foreach---------每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素
    $colors = array("red","green","blue","yellow"); 
    foreach ($colors as $value) {
      echo "$value <br>";
    }
    #---------------------------------------------for ------------------------------------------------------
    
    #-------------------------------------------函数(function(){})----------------------------------------------
    #-------------------------------无参函数---------
    function writeMsg() {
      echo "Hello world!";
    }
    writeMsg(); // 调用函数
    #-------------------------------有参函数---------
    function familyName($fname) {
      echo "$fname Zhang.<br>";
    }
    familyName("Li");
    familyName("Hong");
    familyName("Tao");
    familyName("Xiao Mei");
    familyName("Jian");
    #-------------------------------默认参数值--------
    function setHeight($minheight=50) {
      echo "The height is : $minheight <br>";
    }
    setHeight(350);
    setHeight(); // 将使用默认值 50
    setHeight(135);
    setHeight(80);
    #-------------------------------函数 - 返回值-------
    function sum($x,$y) {
      $z=$x+$y;
      return $z;
    }
    echo "5 + 10 = " . sum(5,10) . "<br>";
    echo "7 + 13 = " . sum(7,13) . "<br>";
    echo "2 + 4 = " . sum(2,4);
    #-------------------------------------------函数(function(){})----------------------------------------------
    
    #-------------------------------------------数组(array)----------------------------------------------------
    #在 PHP 中,有三种数组类型:
       # 索引数组 - 带有数字索引的数组
       # 关联数组 - 带有指定键的数组
       # 多维数组 - 包含一个或多个数组的数组
    #--------------------索引数组-----------------
    $cars=array("Volvo","BMW","SAAB");
    
    $cars[0]="Volvo";
    $cars[1]="BMW";
    $cars[2]="SAAB";
    #-------------------关联数组------------------
    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    $age['Peter']="35";
    $age['Ben']="37";
    $age['Joe']="43";
    
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    echo "Peter is " . $age['Peter'] . " years old.";
    #-------------------获得数组的长度 - count() 函数----------------------
    $cars=array("Volvo","BMW","SAAB");
    echo count($cars);
    #----------------------遍历索引数组---------------------------------
    $cars=array("Volvo","BMW","SAAB");
    $arrlength=count($cars);
    
    for($x=0;$x<$arrlength;$x++) {
      echo $cars[$x];
      echo "<br>";
    }
    #-----------------------遍历关联数组---------------------------------
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    
    foreach($age as $x=>$x_value) {
      echo "Key=" . $x . ", Value=" . $x_value;
      echo "<br>";
    }
    #-------------------------------------------数组(array)----------------------------------------------------
    
    #------------------------------------------------数组排序---------------------------------------------------
    
    
    #------------------------------------------------数组排序---------------------------------------------------
    #PHP 数组排序函数:
        #sort() - 以升序对数组排序
        #rsort() - 以降序对数组排序
        #asort() - 根据值,以升序对关联数组进行排序
        #ksort() - 根据键,以升序对关联数组进行排序
        #arsort() - 根据值,以降序对关联数组进行排序
        #krsort() - 根据键,以降序对关联数组进行排序
    #---------------------------------------对数组进行升序排序 - sort()---------
    $cars=array("Volvo","BMW","SAAB");
    sort($cars);
    
    $numbers=array(3,5,1,22,11);
    sort($numbers);
    #---------------------------------------对数组进行降序排序 - rsort()--------
    $cars=array("Volvo","BMW","SAAB");
    rsort($cars);
    
    $numbers=array(3,5,1,22,11);
    rsort($numbers);
    #---------------------------------------根据值对数组进行升序排序 - asort()-----
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    asort($age);
    #--------------------------------------根据键对数组进行升序排序 - ksort()------
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    ksort($age);
    #--------------------------------------根据值对数组进行降序排序 - arsort()-----
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    arsort($age);
    #--------------------------------------根据键对数组进行降序排序 - krsort()-----
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    krsort($age);
    #------------------------------------------------数组排序---------------------------------------------------
    
    #------------------------------------------------全局变量 - 超全局变量------------------------------------------
    #超全局变量是:
        # $GLOBALS
        # $_SERVER
        # $_REQUEST
        # $_POST
        # $_GET
        # $_FILES
        # $_ENV
        # $_COOKIE
        # $_SESSION
    #----------------------------------$GLOBALS — 引用全局作用域中可用的全部变量--------------
    $x = 75; 
    $y = 25;
    function addition() { 
      $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
    }
    addition(); 
    echo $z; 
    #--------------------------------$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息------
    echo $_SERVER['PHP_SELF'];
    echo "<br>";
    echo $_SERVER['SERVER_NAME'];
    echo "<br>";
    echo $_SERVER['HTTP_HOST'];
    echo "<br>";
    echo $_SERVER['HTTP_REFERER'];
    echo "<br>";
    echo $_SERVER['HTTP_USER_AGENT'];
    echo "<br>";
    echo $_SERVER['SCRIPT_NAME'];
    #能够在 $_SERVER 中访问的最重要的元素:
    #$_SERVER['PHP_SELF']     返回当前执行脚本的文件名。
    #$_SERVER['GATEWAY_INTERFACE']     返回服务器使用的 CGI 规范的版本。
    #$_SERVER['SERVER_ADDR']     返回当前运行脚本所在的服务器的 IP 地址。
    #$_SERVER['SERVER_NAME']     返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。
    #$_SERVER['SERVER_SOFTWARE']     返回服务器标识字符串(比如 Apache/2.2.24)。
    #$_SERVER['SERVER_PROTOCOL']     返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。
    #$_SERVER['REQUEST_METHOD']     返回访问页面使用的请求方法(例如 POST)。
    #$_SERVER['REQUEST_TIME']     返回请求开始时的时间戳(例如 1577687494)。
    #$_SERVER['QUERY_STRING']     返回查询字符串,如果是通过查询字符串访问此页面。
    #$_SERVER['HTTP_ACCEPT']     返回来自当前请求的请求头。
    #$_SERVER['HTTP_ACCEPT_CHARSET']     返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1)
    #$_SERVER['HTTP_HOST']     返回来自当前请求的 Host 头。
    #$_SERVER['HTTP_REFERER']     返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。
    #$_SERVER['HTTPS']     是否通过安全 HTTP 协议查询脚本。
    #$_SERVER['REMOTE_ADDR']     返回浏览当前页面的用户的 IP 地址。
    #$_SERVER['REMOTE_HOST']     返回浏览当前页面的用户的主机名。
    #$_SERVER['REMOTE_PORT']     返回用户机器上连接到 Web 服务器所使用的端口号。
    #$_SERVER['SCRIPT_FILENAME']     返回当前执行脚本的绝对路径。
    #$_SERVER['SERVER_ADMIN']     该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。
    #$_SERVER['SERVER_PORT']     Web 服务器使用的端口。默认值为 “80”。
    #$_SERVER['SERVER_SIGNATURE']     返回服务器版本和虚拟主机名。
    #$_SERVER['PATH_TRANSLATED']     当前脚本所在文件系统(非文档根目录)的基本路径。
    #$_SERVER['SCRIPT_NAME']     返回当前脚本的路径。
    #$_SERVER['SCRIPT_URI']     返回当前页面的 URI。
    #########################由于其余几个与HTML相互作用所以放在下一篇中来讲###############################
    
    
    #------------------------------------------------全局变量 - 超全局变量------------------------------------------
    
    
    
    
    
    
    ?>

    From:http://www.w3school.com.cn/php/index.asp

  • 相关阅读:
    说说渐进式增强
    Websocket模板
    Echart图表显示单位
    JS配置文件设置,共享变量抽取
    PHP处理字符串的10个简单方法
    C#实现只许一个实例运行(使用mutex类)
    实现PHP基本安全11条
    PHP开发不能违背的安全规则
    Querying a motor position
    log info
  • 原文地址:https://www.cnblogs.com/boonya/p/5054081.html
Copyright © 2011-2022 走看看