第一章:PHP基础语法

一.常量:

1.1.define()函数:define(‘R’,’5’,’true’); //R:常量名,5:常量值,true:常量名对大小写不敏感,为false时表示对常量名敏感。

1.2 const关键字:const关键字在定义常量时,只需要在后面跟上一个常量名称。

并且使用“=”赋值。Const R=6;

phpinfo();

//phpinfo是一个函数(功能),这个函数(功能)会显示一个当前电脑(服务器)的详细的PHP信息

二.变量:

变量的几个特点:

1.x = 5 将右边值5,赋值给左边的x

2.第二段x = 12,最后x + y 的结果等于20,说明x在从上到下的运算(执行)中,可以被重新赋值。

我们在PHP中的变量也是如此。不过有几个特点:

1.必须要以$开始。如变量x必须要写成$x

2.变量的首字母不能以数字开始

3.变量的名字区分大小写

4.变量不要用特殊符号、中文,_不算特殊符号

5.变量命名要有意义(别写xxx,aaa,ccc这种 变量名)

错误举列:

错误:变量以数字开始

<?php

$123 = 345;

?>

错误:变量中有特殊字符,中文

<?php

//$a*d = 345;

//$中国 = 123;

?>

错误:变量命名没有意义aaa容易数错,也没有含意

<?php

$aaaaaaa = 345;

?>

错误:变量严格区分大小写 $dog 和 $Dog是PHP学院的变量,尝试将$dog的值改为8.结果D写成了大写。

<?php

$dog = 5;

//重新修改$dog的值,将$dog改为8

$Dog = 8;

?>

正确举例:

正确:变量不能以数字开始,但是数字可以夹在变量名中间和结尾

<?php

$iphone6 = 5880;

$iphone6plus = 6088;

?>

正确:变量不能有特殊符号,但是_(下划线不算特殊符号)

<?php

$_cup = 123;

?>

注:你会发现代码是从上向下执行的。

$ 叫作美元符,英文单词:dollar。PHP的变量必须以美元符开始。说明搞PHP有“钱”途。

dollar
读音:['dɒlə(r)]
解释:美元

三、PHP数据类型-------字符串:

在PHP语言中声明字符串有三种方式:

1.用单引号声明(用英文半脚的单引号,将字符串包起来)

2.用双引号声明(在字符串两边加双引号。)

3.用字界符声明(需要输入非常大段的字符串时使用)

字界符声明
1).在变量后面的等号写三个小于号(<<<)。
2).然后在<<<后面写上字符(建议英文大写字符)。如下例中的:ABC
3).然后换行写上任意想写的字符
4).写完后,顶行。在行最开始处,再写上<<<后面的字符和分号。如下例中的:ABC;

<?php

$dingjie = <<<ABC

那双引号和单引号有什么区别呢?

【重要知识点】PHP面试题中,高概率面试题(建议背诵并实验三遍以上)

1.双引号解析变量,但是单引号不解析变量。

2.在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。一定要在变量后面接上特殊字符,例如空格等分开。

3.如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。

4.双引号解析转义字符,单引号不解析转义字符。但,单引号能解析\' 和\  (双引号中最常用的:\n 回车     \t 缩进)

5.单引号效率高于双引号,尽可能使用单引号

转义字符反斜线的使用(\

6.双号和单引号可以互插!!!双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。

7.神奇的字符串拼接胶水——(.)点,用来拼接字符串。

8.我们将定界符声明字符串视为双引号一样的功能来看待。

单引号插入变量:

双引号插入变量:

四、 php数据类型之浮点型

Var_dump()是一个函数,向括号()中间插入变量,这个函数,会打印出来数据类型

还会对应显示变量的长度和值。

五. php流程控制之if else语法

四种基本语法:

五.1&五.2

<?php

if(布尔条件)

布尔值为真(true)时执行,只能写一行代码;

?>

<?php

if(布尔条件)

布尔值为真(true)时执行,只能写一行代码;

else

布尔值为假(false)时执行,只能写一行代码;

?>

五.3&五.4

<?php

if(布尔条件){

布尔值为真(true)时执行,可写多行代码;

}

?>

<?php

if(布尔条件){

布尔值为真(true)时执行,可写多行代码;

}else{

布尔值为假(false)时执行,可写多行代码;

}

?>

六.PHP数据类型之NULL类型、

六.1产生NULL类型的三种情况:

   *通过变量赋值明确指定为变量的值为NULL

   *一个变量没有给任何值

   *使用函数unset()将变量销毁

六.2empty()函数和isset()函数的区别:

empty()函数可以向括号中间传入一个变量。这个变量的值如果是false或者为null,则返回true

Isset()可以向括号中间传入一个或多个变量,变量与变量间用逗号分开。只要有一个

变量为null,则返回false,否则返回true。

Unset()函数的功能是毁掉变量。Unset(变量)括号中间插入想要毁掉的变量名,

这个变量就会被毁掉!

七.PHP数据类型之数组:

<?php

//定义$shu这个变量

//数组声明是向array里面插入一个或者多个值

//一个或者多个值用逗号分开

$shu = array(1,2,3);

?>

八.PHP数据类型之查看和判断数据类型

八.1查看数据类型

1.gettype(传入一个变量)能够获得变量的类型

2.var_dump(传入一个变量)能够输出一个变量的类型

八.2判断数据类型

is_int//是否为整型

is_bool//是否为布尔

is_float//是否为浮点

is_string//是否为字符串

is_array//是否为数组

is_object//是否为对象

is_null//是否为空

is_resource//是否为资源

is_scalar//是否为标量

is_numberic//是否为数值类型

is_callable//是否为函数

九.PHP数据类型之自动转换和强制转换

九.1布尔值的自动类型转换

条件:

  1. 整型的0为假,其他整型值全为真
  2. 浮点的0.0,布尔值的假,小数点后只要有一个非零的数值即为真
  3. 空字符串为假,只要里面有一个空格都算真
  4. 字符串的0,也将其看作是假,其他的都为真。
  5. 空数组也将其视为假,只要里面有一个值。就为真
  6. 空也为假
  7. 未声明成功的资源也为假

总结:

布尔值的true参与运算是会变成整型或是浮点的1,布尔值的false参与运算是会变成整型或者浮点的0。

字符串开始处是整型或浮点类型的字符,会转成对应的类型参与运算。

九.2强制类型转换的三种方式:

  1. 用后面的三个函数可以完成类型转换,intval()、floatval()、strval()、

         

2.变量前加上()里面写上类型,将它转换后赋值给其他变量

3.Settype(变量,类型)直接改变量本身(settype中第二个参数是要转换的数据类型,要用放在单引号里作为字符串类型)

                                 

 

九.3强制类型转换时的特点:

  1. 空转为整型会为整型的0

2.空转为浮点会为浮点的0

3.空转为字符串会为空字符串‘’

4.浮点的123.0转为字符串会为字符串123

5.浮点的123.2转为字符串会为字符串的123.2

6.浮点即使小数点再大,它都会被干掉,会舍掉小数点后面的值

7.如果字符串转为整型的时候,如果数值在前面,会将前面的数值拿出来做为整型的转换值。

8.settype(变量,'null'); 等价于 unset()一个变量

9.$目标变量 = (类型)$操作变量 只会改变目标变量的类型,不会改变原变量的类型,Settype是改变原值

回顾PHP:第一章:PHP基础语法的更多相关文章

  1. web前端学习python之第一章_基础语法(二)

    web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

  2. web前端学习python之第一章_基础语法(一)

    web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

  3. 第一章 –– Java基础语法

    第一章 –– Java基础语法 span::selection, .CodeMirror-line > span > span::selection { background: #d7d4 ...

  4. 第一章JSP基础语法

    jsp页面元素构成 jsp页面组成部分有:指令,注释,静态内容,表达式,小脚本,声明. jsp指令 page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令 include指令:将一个 ...

  5. go基础系列 第一章 go基础语法

    0.前言 1. go定义变量的几种方式 2. go内建变量类型 3. 常量的定义 4. go枚举 5. go的if语句 零. go语言的换行 go语言对换行很有讲究, 如果想换行,必须有一个逗号, 否 ...

  6. java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...

  7. 第一章 jQuery基础

    第一章jQuery基础 一.jQuert简介 1.什么是jQuery jQuery是javaScript的程序库之一,它是javaScript对象和实用函数的封装. jQuery是继Prototype ...

  8. python第一章计算机基础

    第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用 ...

  9. 《零成本实现Web自动化测试--基于Selenium》第一章 自动化测试基础

    第一篇 Selenium 和WebDriver工具篇 第一章 自动化测试基础 1.1    初识自动化测试 自动化测试有两种常见方式 1.1.1 代码驱动测试,又叫测试驱动开发(TDD) 1.1.2 ...

  10. [Python笔记][第一章Python基础]

    2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...

随机推荐

  1. java 执行jar包里面一个类class文件

    一.环境: 1. linux 2. 有两个java类,A.java和B.java,都在同一个目录下 二.源码: A.java   package com.abc;   public class A { ...

  2. ASP.NET Core搭建多层网站架构【4-工作单元和仓储设计】

    2020/01/28, ASP.NET Core 3.1, VS2019, Microsoft.EntityFrameworkCore.Relational 3.1.1 摘要:基于ASP.NET Co ...

  3. Robot Framework 使用【1】-- 基于Python3.7 + RIDE 最新版本搭建

    前言 Robot Framework作为公司能快速落地实现UI自动化测试的一款框架,同时也非常适合刚入门自动化测试的朋友们去快速学习自动化,笔者计划通过从搭建逐步到完成自动化测试的过程来整体描述它的使 ...

  4. 激活win10企业版,亲测可用,(win7步骤相同,请自行测试)

    其他版本我没试过,亲们可以尝试! win7神key win7神key1:2HYJ4-V71WM-BAF6Y-G2BTH-X8QOD win7神key2:9LM54-Z3LQ1-5IRAN-T4JNI- ...

  5. zookeeper 启动和停止脚本

    启动 sh zkServer.sh start 停止脚本 sh zkServer.sh stop

  6. Ubuntu 16.04 安装Redis服务器端

    ~ sudo apt-get install redis-server 安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序 检查Redis服务器系统进程 ~ ps -aux|grep ...

  7. hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问。而随着hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如此,以便查询。这里包含我们使用到的组件:HDFS, YARN, Hbase, Hive, ZooKeeper:

    组件 节点 默认端口 配置 用途说明 HDFS DataNode 50010 dfs.datanode.address datanode服务端口,用于数据传输 HDFS DataNode 50075 ...

  8. PAT A1131 Subway Map

    dfs,选择最优路径并输出~ 这道题难度非常炸裂,要求完完整整自己推一遍,DFS才算过关!思路:一遍dfs,过程中要维护两个变量,minCnt 中途停靠最少的站.minTransfer需要换成的最少次 ...

  9. [read -p应用]插拔光模块去检查port present状态

    #!/bin/bash path="/sys/devices/platform/soc/fd880000.i2c-pld/i2c-0/i2c-4/i2c-15/15-0060" a ...

  10. Can you answer these queries?-HDU4027 区间开方

    题意: 给你n个数,两个操作,0为区间开方,1为区间求和 链接:http://acm.hdu.edu.cn/showproblem.php?pid=4027 思路: 如果当该区间的数都为1,我们没必要 ...