美文网首页
PHP语法基础1

PHP语法基础1

作者: Farewell_V587 | 来源:发表于2017-11-08 20:49 被阅读0次

    PHP 脚本可放置于文档中的任何位置。当一个网页被请求的时候,php解析器首先分析文档里面的php语句,将php部分处理后,与静态网页部分一起输出到浏览器
    PHP 脚本以 <?php 开头,以 ?> 结尾:

    1.基础语法及格式

    通过下列方式展现

      <?php
            
          ?>
    

    还可以通过短标签的方式,但不建议使用

    <?= ?>//等于<?echo ?>
    

    2.变量

    所有变量通过添加$ 例如$name;

    变量命名规则

    • 变量以 $ 符号开头,其后是变量的名称
    • 变量名称必须以字母或下划线开头
    • 变量名称不能以数字开头
    • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
    • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

    注意:PHP对大小写敏感

    3.数据类型

     <?php
    //数字类型
    $number = 1;
    $number2 = -1;
    $number3 = 0123;//八进制
    $number4 = 0x123;//十六进制
    $number = $number + $number2;
    $i = 1;
    $i++;
    echo $number;
    //字符串类型
    $name = "yx";
    $string1 = "string $name";//在双引号里面,变量会被解析
    $string2 = 'string $name';//在单引号里面,变量不会被解析
    
    //可以写多行
    $string3 = <<<EOF
    string $name
    string $name
    EOF;
    //  echo "string1:<br>";
    //  echo $string1;
    //  echo "<br>string2:<br>";
    //  echo $string2;
    //  echo "<br>string3:<br>";
    //  echo $string3;
    $name = "yx";
    $welcome = "欢迎".$name."来到\"这里\"";//.运算符是连字符
    //当字符串里面包含了双引号或者单引号时,需要转义
    //  echo $welcome;
    
    //数组下标与键名下表都是数组
    $array = array();
    $array[0] = "数组1";
    $array[1] = "数组2";
    $array['no1'] = "关联数组1";
    $array['no2'] = "关联数组2";
    $array[]      = "数组3";
    $array[]      = "数组4";//如果为空,取当前最大下标自动加1
    $array[6]     = "数组6";//可以任意指定键值
    //  print_r($array);
    //  echo $array['no1'];
    //二维数组,数组的元素还是数组
    $array['no1'] = array(1,2,3,4);
    //  print_r($array);
    //输出no1的第三个成员
    echo $array['no1'][2]
    
    //true 与 false //不分大小写
    $result = false;
    $result = true;
    //数据类型的转换
    //php是一个弱类型的语言,定义变量不需要明确指定变量类型,并且变量在执行过程中可以被赋值成任意类型
    $num = 1;
    $num = "总数是1";
    $num = true;
    $num = "abc";//当字符串与数字类型进行数学运算时,会自动转换成数字类型,转换成合法的十进制数字,编程时尽量避免混淆的语法
    $num = $num + 100;
    echo $num;
    ?>
    

    4.条件语句

    <?php
    //php语句
    //  $name = "yx2";//赋值语句
    //条件语句 if(condition) {exp} else {exp2}
    //  if($name == "yx") {
    //      echo "您的登录身份是yx";
    //      echo "欢迎你回来";
    //  } else if($name == "yx2") {
    //      echo "您是vip身份";
    //      echo "<a href=\"\">点击登录<a/>";
    //  } else if ($name == "yx3") {
    //      echo "您是白金会员";
    //  } else {
    //      echo "您尚未登录";
    //  }
    
    //浮点数的运算存在精度问题,不能直接相比较
    $num = 10;
    $num1 = 1.1;
    $num2 = "10";
    //  if($num1 +$num2 ==3){
    //      echo "1.1+2.2=3.3";
    //  }else {
    //      echo "1.1+2.2!=3.3"
    //  }
    //在需要判定类型的时候一定要使用===
    //  if($num == $num2) {
    //      echo "num==num2";
    //  }else {
    //      echo "num!=num2";
    //  }
    //取反!
    //  $result = true;
    //  if(!$result) {
    //      echo "false";
    //  }else {
    //      echo "true";
    //  }
    
    //空字符、null值、"0"、0 、未定义变量 为false
    //  $num1 = 10;
    //  $num2 = 20;
    //  //断路运算,或运算只要第一次条件满足后,第二个条件表达式忽略
    //  if($num1 >= 10||$num2++ >25) {
    //      echo "++";
    //  } else {
    //      echo "--";
    //  }
    //  echo $num2;
    
    //三元运算符
    //exp ? val1 : val2
    //  $a = 10;
    //  $b = 12;
    //  $c = $a>$b?$a:$b;
    //  echo $c;
    
    //switch多分支
    $weekday = 1;
    switch($weekday){
        case 1:
            echo "周一";
            break;
        case 2:
            echo "周二";
            break;
        default:
            echo "懒得写了";
    } 
    ?>
    

    5.循环语句

    array("zhangsan","boom","2017","dsad"),//数字下标
    //goods => array(); //关联数组,下标是goods
    // $string = "abscds";
    // echo $string[1];//php的string可以象数组一样的取值

    $arr1 = array("one"=>1,"two"=>2,"three"=>3);
    $arr2 = array("one"=>4,"five"=>5,"six"=>6);
    $arr = $arr1 + $arr2; //相同键名的,取前面的数组
    print_r($arr);
    

    留言板小例子

     <?php $liuyan = array(
        array("zhangsan","boom","2017","dsad"),//数字下标
        array("lisi","boomboom","2016","sss"),
        array("wangerwu","boom","2015","sss")
        
    );?>
    <table>
    <tr>
        <td>留言人</td>
        <td>留言</td>
        <td>留言日期</td>
    </tr>
    <?php foreach($liuyan as $key => $val){
        ?>
    <tr>
        <td><?=$val[0]?></td>
        <td><?=$val[1]?></td>
        <td><?=$val[2]?></td>
    </tr>
    <tr>
        <td colspan="3"><?=$val[3]?></td>
    </tr>
    <?php }?>
    </table>
    
    留言板

    5.函数

    • 函数 一组代码块(内存中一块区域)
    • 定义 function 函数名
    • 函数调用才会执行
    • 形参可以设定默认值
    • 具有默认值的排在无默认值的右边
    • 函数体内部定义的变量只在函数体内有效
    • 在函数体内部可以使用global关键字将变量定义为全局变量

    引用传值

    • 在形参前面添加&符号,引用传值,传的是变量本身,而不是他的值

    //内置函数

    • //empty()判定一个变量是不是存在
    • //如果变量不存在,返回true
    • //一种情况变量没定义,返回的true
    • //第二种情况:$yx ="",即使定义了,但是值为空值也返回true
    • //第三种:$yx =0,"0",null;返回true;
    • //empty()只有在变量定义后,并且赋值,且值不为空,0,“0”,null,返回false
      //isset()
    • //$yx = "";返回true;
    • //$yx = "0"、0;返回true;
    • //$yx = null;返回false;
    • //$yx = true、false;返回true
    PHP的isset()函数 一般用来检测变量是否设置
    格式:bool isset ( mixed var [, mixed var [, ...]] )
    功能:检测变量是否设置
    返回值:
    • 若变量不存在则返回 FALSE
    • 若变量存在且其值为NULL,也返回 FALSE
    • 若变量存在且值不为NULL,则返回 TURE
    • 同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
    • 版本:PHP 3, PHP 4, PHP 5

    更多说明:
    使用 unset() 释放变量之后,它将不再是 isset()。
    PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。
    检测常量是否已设置可使用 defined() 函数。

    PHP的empty()函数 判断值为否为空

    格式:bool empty ( mixed var )
    功能:检查一个变量是否为空
    返回值:
    • 若变量不存在则返回 TRUE
    • 若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
    • 若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE
      版本:PHP 3, PHP 4, PHP 5

    更多说明:
    empty()的返回值=!(boolean) var,但不会因为变量未定义而产生警告信息。参见转换为布尔值获取更多信息。
    empty() 只能用于变量,传递任何其它参数都将造成Paser error而终止运行。
    检测常量是否已设置可使用 defined() 函数

    相关文章

      网友评论

          本文标题:PHP语法基础1

          本文链接:https://www.haomeiwen.com/subject/gpzymxtx.html