PHP基础语法

一、PHP标记

  • <% echo "hello php"; %>

echo 可以输出任何内容到页面上。

注意:1、3可直接使用,但是2,4需要修改php.ini的配置文件才能使用,只做了解。

二、变量

1、变量命名规则
  • 变量以 $ 符号开头,其后是变量的名称
  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
2、变量赋值
  • 值赋值:直接给变量赋值。
$name = "xiaoming";

$age = 18;

$num = 10 + "20";   // $num输出结果等于30

$a = "gebi"."laowang"  // $a 输出结果是gebilaowang

注意:在PHP中 + 只表示数字相加;• 才表示字符串拼接

打印10个小明

PHP基础语法_第1张图片
        for ($i=0; $i < 10; $i++) {
            // echo "小明".($i + 1)."号
"; // echo "小明 $i 号
"; // echo "小明{$i}号
"; echo "小明".($i + 1)."号
"; } // PHP中,双引号带有变量解析功能 // 单引号为纯字符串 // 双引号解析变量的时候,可以使用{}括起变量名

注意:PHP中,双引号带有变量解析功能,单引号为纯字符串。
双引号解析变量的时候,可以使用{}括起变量名。

  • 引用赋值:将一个变量的地址赋给另一个变量,此处需要在变量名前面加上&符号。
        // &取址运算符
        $myAge = 18;
        $yourAge = &$myAge;
        // 取出$myAge的地址,赋给$yourAge,修改$yourAge会影响$myAge
        $yourAge = 19;

        // 此时输出的结果都是19
        echo $myAge."
"; echo $yourAge."
"; // 函数内部修改函数外部变量的值 // 如果需要函数内修改函数外部变量,参数前面需要添加&符 号,进行取址操作。 function add(&$a){ $a *= 10; } $b = 10; add($b); echo $b."
"; //输出结果100
3、变量的变量
    // 变量的变量
    $one = "hello";
    $$one = "world";

    echo $one."".$hello;  //输出结果helloworld
4、超全局变量

php提供了很多有用的预定的变量,用于提供大量与环境有关的信息。

(1)、$_SERVER服务器变量,该全局变量包含着服务器和客户端配置及当前请求环境的有关信息。

  • $_SERVER['SERVER_NAME']:当前运行脚本所在的服务器的主机名

  • $_SERVER['REMOTE_ADDR']:客户端IP地址

  • $_SERVER['REQUEST_URI']:URI的路径部分

  • $_SERVER['HTTP_USER_AGENT']:操作系统和浏览器的相关信息

    // 当前运行脚本所在的服务器的主机名
    echo $_SERVER['SERVER_NAME']."
"; // 客户端IP地址 echo $_SERVER['REMOTE_ADDR']."
"; // URI的路径部分 echo $_SERVER['REQUEST_URI']."
"; // 操作系统和浏览器的相关信息 echo $_SERVER['HTTP_USER_AGENT']."
";

(2)、$_GET该变量包含使用GET方法传递的参数的有关信息

(3)、$_POST该变量包含使用POST方法传递的参数的有关信息

html代码

    



PHP基础语法_第2张图片
html代码执行效果

注意:html代码必须在服务器环境下加载,提交表单时才有效果。

php代码


PHP基础语法_第3张图片
提交表单代码执行效果

(4)、$_REQUEST该变量记录着通过各种输入方法传递给脚本的变量,如GET POST,但不要用这个超全局变量,因为它不安全而且速度比较慢。

(5)、$_COOKIE cookie变量数组

(6)、$_SESSION 会话变量数组

(7)、$_FILES 与上传文件有关的变量数组

(8)、$_ENV 环境变量数组

(9)、$GLOBALS 所有全局变量数组

三、常量

1、常量的定义

常量是指在程序执行中无法修改的值。如PI(3.1415926);
在脚本执行期间该值不能改变;
常量对大小写敏感,通常常量名总是大写;
常量是全局的,可以在脚本的任何地方引用;
常量使用define()函数;

    // 常量
    define("PI", 3.14);
    echo PI;
2、内置常量
  • PHP_OS php所在操作系统的名称
  • PHP_VERSION 当前php的版本号
    echo PHP_OS;
    echo "
"; echo PHP_VERSION;
3、魔术常量
  • ______LINE__ 文件中的当前行号;

  • ______FILE__ 文件的完整路径和文件名;

  • ______FUNCTION__ 函数名称;

  • ______CLASS__ 类的名称;

  • ______METHOD__ 类的方法名;

注意:此处下划线的前后下划线为2条。

    // 魔术常量
    echo __LINE__."
"; echo __FILE__."
"; function test () { echo __FUNCTION__."
"; }; test();
PHP基础语法_第4张图片

四、数据类型

1、字符串

字符串有三种定义方式:单引号,双引号,定界符(heredoc);

  • 单引号字符串中出现的变量不会被变量的值替代;
  • 双引号字符串中最重要的一点是其中的变量会被变量值替代;

如果遇到美元符号($),解析器会尽可能多的取得后面的字符以组成一个合法的变量名,如果想明确的指定名字的结束,用大括号将变量名括起来。

    $age = 18;
    echo "xiaoming{$age}";  // 输出结果xiaoming18
  • 字符串定界的方法使用定界符语法“<<<”。
    因为PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特殊字符进行转义,以免出现语法错误。如果是一两处还可以容忍,但是要是一个完整的html文本或者是一个200行的js我想是谁都会崩溃的。这就是PHP为什么要引入一个定界符的原因——至少一大部分原因是这样的。
            // 定界符
            $name2 = 'kitty';
            echo <<
                
                    
                        {$name2}
AAA;
PHP基础语法_第5张图片
  1. PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;
  2. 在PHP定界符中的任何特殊字符都不需要转义;
  3. PHP定界符中的PHP变量会被正常的用其值来替换。
  4. 在语法上尤其需要注意<<<之后的字符是自己定义的,随便什么都是可以的(比如AAA都可以),但是结尾处的字符一定要和他一样,他们是成对出现的,并且结尾一定要另起一行,并且改行除了AAA这个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出现空格,制表符的话就会报错。
  5. 如果在定界符中间出现有PHP的变量,你只需要像在其它字符串中输出一样写就行了,最好用大括号将其包裹起来。
2、字符串转义
  • \n 换行
  • \r 回车
  • \t 水平制表符(tab键)
  • \\\(反斜杠)
  • $ $(美元符)
  • \” “(双引号)
3、整形(integer)
      $age = 25;
4、浮点型(float, double)
      $num = 5.23;
5、布尔型(boolean)
      $bo = TRUE;
      $bo = FALSE;

五、特殊数据类型

1、资源
$fh = fopen("test.txt","r");

2、null

null无,表示没有值,nul不表示空格,也不表示0;以下情况,则认为是null:

  • 没有设置为任何预定义的变量;
  • 明确的赋值为null;
  • 使用函数unset()清除;

六、自动类型装换

因为php对于类型定义非常的松散,所以有时会根据引用变量的环境将变量自动转换为最合适的类型;

相加运算时会将字符串转换为数字

$num1 = "12";
$num2 = "13assd";
echo $num1 + $num2;  // 25

判断语句中以下类型会被自动转换为布尔值

$abc = false; // false
$abc = 1; // true
$abc = -1; // true
$abc = 0; // false
$abc = null; // false
$abc = "haha"; // true
$abc = ""; // false
 if ($abc) {
       echo "hahhahahhah";
}

六、自动类型装换

1、gettype() 返回变量的类型,共有8个可能的值 string、integer、float、boolean、array、object、null、unknow。
    echo "
"; $str = 245.245; echo gettype($str);
代码执行效果
2、is_type() 查看变量是属于某个类型,是返回TRUE,否则返回FALSE;

true 显示1,false显示无。

$age1 = array(134, 134, 45, 24);
echo is_string($age1);

如上代码执行效果为无,如果写is_array()则返回1。

3、var_dump() 获取变量的值和类型的详细信息
    $age = 1245;
    var_dump($age);
代码执行效果

以上内容纯属个人理解,由于本人水平有限若有错漏之处,敬请指出斧正,小弟不胜感激。

你可能感兴趣的:(PHP基础语法)