zoukankan      html  css  js  c++  java
  • PHP基础知识01

    【PHP标记的种类】
     PHP文件中,若要使用PHP语法,必须将PHP语言放到标记当中,PHP支持如下四中标记方式
     ①<?php ?> PHP官方推荐写法,也是我们主要采用的写法,这种标签可插入到HTML文档的任意位置
     >>>注:如果页面中,只有php语言,推荐省略结束标签 ?>
     ② <script language="php"></script> 长标记写法,无论何时都可使用,但不推荐这种写法
     ③<??>短标记风格,可能会与其他语言冲突,不推荐,修改php.ini配置文件开启这种写法 

    【PHP中的指令分隔符】
    1.PHP中的“结构定义语句”(分支,循环,类,函数等{}结尾),不需要使用;结尾
    2.PHP中的“功能执行语句”,不用{}结尾的,必须使用;结尾
    3.特例:最后结束标签?>的前一条语句可以不用;结尾

    【PHP中的变量】
    1.PHP中的变量,声明与使用,必须用$开头
    2.PHP是一种弱类型语言,变量其实并不需要声明,可以直接给变量赋任何类型的值
    3.PHP中可以使用连等同时声明多个变量,如:$num1=$num2=$num3=5。不能用,分隔
    4.常用变量函数:
    unset() 删除并释放变量
    isset() 检测变量是否设置·
    empty() 检测变量是否为空(未设置或值为null都算空)
    5.变量的命名:只能有字母,数字,下换线组成,开头不能是数字,且PHP变量区分大小写,
    但PHP内置函数或类名不区分大小写
    6.PHP数据类型(8种)
    4种变量类型:Boolean,整形Integey,浮点型float/double,字符串string
    2种复合类型:数组Array 对象Object
    2种特殊类型:资源Resource 空null
    7.整型的范围:-2^31~(2^31-1),超过这个范围,自动转为浮点型

    【PHP中算false的情况】
    1.Boolean false
    2.整形 0
    3.浮点型0.0
    4.字符串 "" "0" ("0.0" "000" 都算对,只有一个0算错)
    5.空数组
    6.null和尚未定义的变量
    7.所有资源都算对!!

    【PHP中字符串的声明】
    PHP支持三种方式声明字符串:
    ①' ':
    ②" ":
    ③<<<(定界符):$str=<<<s(定界标识符)
    //定界符声明字符串,通过<<<(定界标识符)开始
    //遇到顶格的定界标识符结束!!不能有空格!!!
    //定界标识符可为任意字母,只需要开始和结束保持一致即可
    s;
    ④三种声明方式的区别:
    a.定界符功能,默认与双引号相同
    b.单引号中不能解析变量,而双引号,定界符都可以解析变量
    注:双引号解析变量时,需注意变量名后需用空格与其他字符分隔,或者用{}将变量名包裹起来
    "haha{$num}123","haha${num}123"均可
    c.单引号中可放双引号,双引号中可放单引号,但不能放自身类型相同的引号
    d.单引号中不能使用转义字符(除了单引号'本身,转义符本身),双引号中,可以使用转义符

    【PHP中的伪类型】
    伪类型:并不是一种真实存在的数据类型,它的存在,仅仅是告诉程序员可为哪种,哪些数据类型,常用于写帮助文档时使用
    mixed:代表参数可为多种不同数据类型
    number:代表参数可以是Integer或者Float
    callback:代表参数可以是一个回调函数

    【PHP中的数据转换类型】
    1.自动类型转换:表示运算的时候,Boolean,null,string等类型,会自动先转为Integer或Float类型
    null→0 true→1 false→0
    String类,"abc"→0 "123a"→123 "a123"→0
    2.强制类型转换:根据我们的需要,强制将变量转为其他类型的变量
    ① 使用()声明新类型强转
    $新变量=(新类型)$原类型; $str=(String)1;
    //新类型,可使用全拼,也可使用缩写,Integer/int Boolean/bool都行
    可以强制转换的类型如下:
    (int),(integer)-转换为整型
    (bool),(boolean)-转换为布尔型
    (float),(double),(real)-转换为浮点型
    (string)-转换为字符串
    (array)-转换为数组
    (object)-转换为对象
    ② 使用setType();函数强转:
    bool setType(mixed var,String type);第一个参数表示任何类型的变量,第二个参数表示字符串类型的数据类型,返回boolean结果
    ③ 两种转换的区别是:
    第①种,将转换之后的结果,赋给新的变量
    第②种,直接修改了原变量的数据类型

    【PHP中的输出语句】
    echo "......";输出变量的值
    var_dump(num);输出变量的数据类型和值[&一些其他信息]
    print_r(arr);专门打印数组

    【PHP中的常量】
    1.常量的定义: bool define(String 常量名,mixed 常量值[,bool 是否区分大小写])
    2.常量的注意事项:
    ① 常量定义,只能使用define()函数
    ② 常量名,不能带$符号,原则上要求使用大写
    ③ 常量声明后,默认全局范围内有效,没有作用域之说
    ④ 常量不能删改,unset,setType等函数均无效
    ⑤ 常量默认区分大小写,在声明常量时,将define函数第三个参数设置为true,改为忽略大小写
    ⑥ 常量必须定义后才能使用,如果使用未声明的常量,则默认转为常量字符串,但是,会报警告
    var_dump(NUM);→String "NUM"
    ⑦ 常量的值,只能是Boolean String Float Integer
    3.可以使用echo constant("NUM")读取常量的值
    可以使用get_defined_constants()找出所有常量,包括系统常量

    【运算符】1.算术运算符: + - * / % ++ --


    2.赋值运算符:
    = += -= *= /= %= .=(连接字符串)

    3.比较运算符
    > < >= <= == === <>,!= !==
    ==:要求值相等,而不需要数据类型相等
    ===:要求值和数据类型都一样

    !=:只比较值,值相等为false
    !==:比较值和类型

    4.逻辑运算符
    and/&& or/|| not/! xor
    xor:逻辑异或。两边只有一个对的,结果为true,两边同为true或同为false,结果都为false

    &&和||进行运算时,会发生短路:当左侧能判断出结果的时候,便不再执行右侧!
    (&&左侧为假,结果为假,与左侧为真,结果为真)

    5.位运算符
    将10进制转为2进制,然后再进行计算
    &:按位与,转成二进制后,两个都1,结果才为1;
    |:按位或,转成二进制后,有一个为1,就是1
    ^:按位异或,转成二进制后,两个不相同为1,两个都为1,或都为0,结果均为0
    ~:按位取反,转成二进制后,所有位数取反,1→0,0→1
    <<:左移,转成二进制后,左移几位,右边空余位数补0
    >>:右移,转成二进制后,右移几位,左边空余几位补0

    6.其他运算符:
    判断语句?执行语句1:执行语句2
    ` `:调用系统dos环境下的命令行并执行,但是由于不安全且跨平台性差,不推荐使用
    @:错误信息控制符,可以临时屏蔽到一些小的错误信息,但是不提倡使用

    【可变变量】
    在一个变量名面前,再加一个$符号,即可将原变量的值作为新变量的名字

    【取址符号】
    &:变量名前加&可以取出变量在内存中的地址,并将地址赋给新变量
    $num2=&$num1;//取出num1的地址给num2,相当于引用数据类型,num2和num1的值会绑定

  • 相关阅读:
    Arcmap软件报错:This application cannot run under a virtual machine arcmapr, 但是你并没有使用虚拟机
    Sql server 2008 作业失败通知邮件配置
    能drag和resize的DIV,目的是做一个类似于数据库视图设计器
    Type.GetType()与System.Web.Compilation.BuildManager.GetType()
    让你的实体字段和页面上的控件映射,自动绑定 ObjectBinding1.0
    利用Log Explor来恢复误用delete 、update了的数据
    破解版果冻手机动画主题for WM5 & WM6
    封装一个图片轮换的web控件
    利用Lucene.net对附件做搜索
    关于TransactionScope分布式事务在Oracle下的运作
  • 原文地址:https://www.cnblogs.com/yt4561761/p/6887777.html
Copyright © 2011-2022 走看看