初识PHP

初识PHP

1.PHP简介

1.1PHP 是什么?

PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种服务器端的HTML脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的、脚本语言,是一种广泛运用于开源代码的尤其适合web开发并可以嵌入HTML的多用途的脚本语言

1.2PHP 文件是什么?

  • PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
  • PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
  • PHP 文件的默认文件扩展名是 .php

1.3PHP能做什么

  • PHP 可以生成动态页面内容
  • PHP 可以创建、打开、读取、写入、关闭服务器上的文件
  • PHP 可以收集表单数据
  • PHP 可以发送和接收 cookies
  • PHP 可以添加、删除、修改您的数据库中的数据
  • PHP 可以限制用户访问您的网站上的一些页面
  • PHP 可以加密数据

2.PHP语法

2.1PHP代码标记

  • ASP标记:<%php代码%>

  • 短标记:<?php代码?>

  • 脚本标记:<script language=“php”>php代码</script>

    <script language="php">
     echo 'hello word';
    </script>
    
    
  • 标准标记(常用):<?php php代码?>

2.2PHP注释

  • 行注释:一次注释一行

    //:后面跟的所有内容都是注释

    #:与//一样

  • 块注释:一次注释多行

    /*:中间直到*/出现之前,全部都是是注释

2.3PHP语句分隔符

语句分隔符:在PHP中,代码是以行为单位,系统需要通过判断行的结束,该结束通常都是通过分号(英文)来表示

<?php
echo 'hello world';
?>

特殊说明

1.PHP中标记结束符?>有自带语句结束符的效果,最后一行PHP代码可以没有语句结束符’:'(但是一般不建议使用)

2.PHP中很多代码的书写并不是嵌入在HTML中,而是单独存在,通常书写习惯中不建议使用标记结束符?>,以为这会使PHP自动认为开始到最后全部为PHP代码

2.4变量

2.4.1变量的基本概念

变量源于数学,是计算机语言中能存储计算结果或能表示值的抽象概念,变量可以通过变量名访问,在指令式语言中,变量通常是可变的

注:1.变量是用来存储数据的

​ 2.变量是存在名字的

​ 3.变量是通过名字来访问的

​ 4.变量是可以改变的

2.4.2变量的使用

1.定义:在系统中增加对应的变量名字(内存)

<?php
    $var1;//定义变量
    $var2=1;//定义同时赋值
?>

2.赋值:可以将数据赋值给变量名(可以在定义的同时完成)

3.访问变量:可以通过变量名访问存储的数据

<?php
    $var1=520;
    echo $var1;
?>

4.删除变量

<?php
    $var1=520;
    $var2=250;
    unset($var2)
    echo $var1;
    ?>
2.4.3变量命名规则
  • 在PHP中变量名字必须以’$'符号开始
  • 名字由字母、数字和下划线’-'构成,但不能以数字开头
  • 在PHP中本身还允许中文变量(不建议)
2.4.4预定义变量
  • 预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)
  • $_GET:获取所有表单以get方式提交的数据
  • $_POST:post提交的数据都会保存在此
  • $_REQUEST:get和post提交的都会保存
  • $GLOBALS:php中所有的全局变量
  • $_SERVER:服务器信息
  • $_SESSION:session会话数据
  • $_COOKIE:cookie会话数据
  • $_ENV:环境信息
  • $_FILES:用户上传的文件信息
2.4.5可变变量

可变变量: 如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值,使用时在变量前面再多加一个$符号

<?php
    $a=b;
    $b=bb;
    echo $a;
    echo $$a;
?>
2.4.6变量传值
  • 变量传值:将一个变量赋值给另外一个变量

  • 变量传值一共有两种方式:值传递、引用传递

    值传递:将变量保存的值复制一份,然后将新的值给另外的一个变量保存(两个变量没有关系)

    引用传递:将变量保存的值所在的内存地址传递给另外一个变量(两个变量指向同一块内存空间且是同一个值)

  • 在内存中通常有以下几个分区

    栈区:程序可以操作的内存部分(不存数据,只运行程序代码)(空间小、速度快)

    代码段:存储程序的内存部分(不执行)

    数据段:存储普通数据(全局区和静态区)

    堆区:存储复杂数据(空间大、速度慢)

<?php
//值传递
    $a=10;
    $b=$a;
    $b=5;
    echo $a,$b;
//引用传递
    $c=10
    $d=$c
    $c=5
    echo $c,$d;
?>

2.5常量

2.5.1常量基本概念
  • 常量是一种在程序运行当中不可更改的量(数据)
  • 常量一旦定义,通常数据不可改变(用户级别)
2.5.2常量定义形式

PHP中常量有两种定义方式:

  • 使用定义常量的函数:define(‘常量名’,常量值);
  • const=常量值

常量名字的命名规则:

  • 常量不需要使用’$'符号,一旦使用系统就会认为是变量

  • 变量的名字由字母、数字、下划线组成,但是不能以数字开头

  • 常量的名字通常是以大写字母为主(与变量加以区别)

  • 常量命名的规则比变量更加松散,可以使用一些特殊字符(该方式只适用于define定义)

    注意:

  • difine和const定义的常量是区别在于访问权限的不同

  • 定义常量通常不区分大小写,但是可以通过define函数的第三个参数来实现区分

    define(string $name,mixed $value [,bool $case_insensitive=false])

2.5.3常量使用形式

常量的使用与变量基本一样,但不可改变值(在定义的时候必须赋值)

<?php
    define('pi',3.14);
    echo pi;
?>

有时候针对特殊名字的常量需要用到另一个访问常量的函数:constant(“常量名”)

<?php
    define('-_-',666);
echo constant('-_-');
?>

常量和变量的使用说明:

  • 凡是数据可能会变化的,肯定使用变量
  • 数据不一定会变的,可以使用常量或是变量,但一般是变量居多
  • 数据不允许被修改的,一定使用常量
2.5.4系统常量

系统帮助用户定义的常量,用户可以直接使用

  • PHP_VERSION:PHP版本号
  • PHP_INT_SIZE:整型大小
  • PHP_INT_MAX:整型能表示的最大值(PHP中整型是允许出现负数的)
<?php
    echo PHP_VERSION;
    echo PHP_INT_SIZE;
    echo PHP_INT_MAX;
?>

在PHP中还有一些特殊的常量,他们由双下划线开始+常量名+双下划线结束,这种常量称为系统魔术常量,魔术常量的值通常会跟着环境变化,但是用户改变不了,常见的魔术常量有:

  • _DIR_:当前被执行的脚本所在电脑的绝对路径
  • _FILE_:当前被执行的脚本所在电脑的绝对路径(带自己文件的名字)
  • _LINE_:当前所属的行数
  • _NAMESPACE_:当前所属的命名空间
  • _CLASS_:当前所属的类
  • _METHOD_:当前所属的方法
<?php
    echo __DIR__;
    echo __FILE__;
?>

2.6数据

2.6.1数据类型

data type,在PHP中指的是存储的数据本身的类型,而不是变量的类型。PHP是一种弱类型语言,变量本身没有数据类型

2.6.2PHP的八种数据类型

在PHP中将数据分为三大类八小类:

  • 简单(基本)数据类型:

    • 整型:int/integer,系统分配4个字节存储,表示整数类型(前提能存得下)

    • 浮点型:float/double,系统分配8个字节存储,表示小数或整型存不下的整数

    • 字符串型:string,系统根据实际长度分配,表示字符串

    • 布尔类型:bool/boolean,表示布尔类型,只有两个值:true和fales

      bool类型不能使用echo来查看,应使用var_dump结构查看,即var_dump(变量)

  • 复合数据类型:

    • 对象类型:object,存放对象
    • 数组类型:array,一次性存放多个数据
  • 特殊数据类型:

    • 资源类型:recource,存放资源数据(PHP外部数据,如数据库、文件等)
    • 空类型:null,只有一个值null,不能参与运算
2.6.3数据类型转换

在很多的条件下,需要指定的数据类型,需要外部数据(或当前PHP取得的数据)转换成目标数据类型

在PHP中有两种转换方式:

  • 自动转换:系统根据需求自动判定,自动转换(使用较多,效率偏低)

  • 强制(手动)转换:人为根据需要的数据类型进行转换

    强制转换规则:在变量之前增加一个括号(),然后在里面写上对应类型,但是如果要转换为NULL类型,需要借助unset函数

    还有一组函数可以用来获取以及设定数据(变量)的类型:

    gettype(变量名):获取类型,得到的是该类型对应的字符串

    settype(变量名,类型):设定数据类型

    注意:

    • 强制转换是对数据的一个复制值进行处理,不会改变实际存储的内容
    • settype会直接改变数据本身

在转换过程中,使用较多的为转布尔类型(判断)和转数值类型(算数运算)

数据类型转换说明:

  • 其他类型转布尔类型大多数都为true,只有极少数为false
  • 布尔类型true=1,false=0
  • 以字母开头的字符串转数值永远为0
  • 以数字开头的字符串,取碰到字符串为止(不会包含两个小数点)
2.6.4数据类型判断

通过一组判断类型函数,来判断变量,最终返回这个变量所保存数据的数据类型(验证成功为true,失败为false),函数格式为:is_数据类型(变量名)

<?php
    $a=112233;
    echo var_dump(is_int($a));
?>
2.6.5基本数据类型
  • 整数类型

    • 保存整数数值,最大为4个字节的存储容量,最大为32位

    • 在PHP中提供了四种整型的定义方式:十进制定义、二进制定义、八进制定义和十六进制定义

      $a=120 十进制定义

      $a=0b110 二进制定义

      $a=0120 八进制定义

      $a=0x120 十六进制定义

  • 浮点类型

    • 小数类型以及超过整型所能存储范围的整数(不保证精度),精度范围大概15个有效数字左右

    • 浮点型定义有两种方式:

      $f=1.23

      $=1.23e10//科学记数法

    浮点数能存储的数更大的原因:

    整型最大值为:11111111 11111111 11111111 11111111

    其中每一位都是有效数字,而浮点数中有可能有几位表示的为10的指数倍

    注:尽量不要使用浮点数做精确判断,因为浮点数保存的数据不够精确,而且在计算机中凡是小数基本上存的都不准确

  • 布尔类型

    只有两个值true和false,通常用于比较和判断,但在进行判断时要特别注意类型转换

    还有两个常用的比较函数:

    empty():判断数据的值是否为“空”,不是NULL,如果为空返回true,不为空返回false

    lsset():判断数据存储的变量本身是否存在,存在返回true,不存在返回false

2.5运算符

运算符,operator,是一种将数据进行运算的特殊符号,在PHP中一共有十种运算符之多

2.5.1赋值运算符
  • 赋值运算(右运算):符号是"=",表示将右边的结果(包括变量、数据、常量和其他匀速出来的结果),保存到内存的某个位置。然后将位置的内存地址赋值给左侧的变量或常量

  • 算数运算:基本的算数操作

    +:执行数据累加

    -: 执行数据相减

    *:执行数据相乘

    /:执行数据相除

    %:执行数据取余(一定是两个整数的运算 )

  • 32
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值