HP简介

PHP超文本预处理器。是嵌入HTML文件中的服务器端脚本程序。换句话:PHP只能运行在服务器上。

一个HTML文件中,可以包含的代码:HTML代码、CSS代码、JS代码、PHP代码等。

PHP的主要功能:web应用开发(线上产品)。

PHP入门比较简单,语法与C、Java、C#、JS等相似。

PHP主要用函数做各种操作,而JS主要用内置对象作操

PHP语言基础

l PHP代码,跟ASP一样,都是嵌入到HTML文件中去的。

l PHP代码标记:<?php …… ?>

l PHP文件的扩展名:.php

l PHP文件的执行,必须从域名开始访问(必须要经过虚拟主机)。

l 访问PHP文件的路径上,不能包含空格和中文。

l PHP也是区分大小写,但关键字和函数名不区分大小写。

l PHP中每条语句,必须以英文下的分号结束(;)。

PHP注释

l HTML注释:<!—注释内容 -->

l CSS注释:/*  */

l JS注释://或/*   */

注释的功能:是为以后修改项目时,找问题非常方便。

l PHP的单行注释://或#

l PHP的多行注释:/*  */

l 提示:多行注释不能相互嵌套。

l 注意:PHP的注释,与代码一样,最终在客户端都是不可见。

PHP变量

1、变量的概念

变量是临时存储数据的容器。

变量可以看成是宾馆的房间号。

变量可以看成是一个瓶子,瓶子中可以装水、汽水、沙子、酱油等。

我们可以把内存条看成是,由若干个“小格子”构成。每一个“小格子”可以存储一个变量。

2、变量的命名规则

l 变量名可以包含:a-z、A-Z、0-9、_(下划线)。

l 变量名不能以数字开头。

l 变量名可以以字母或下划线开头。

l PHP的变量前,必须以“$”符号开头,但不是变量名的一部分。如:$name、$age

l 对长文件名,如何命名呢?

u “驼峰式命名”:$getUserName、$getUserPassword

u “下划线式命名”:$get_user_name、$get_user_pwd

3、写程序的一般思路

l 变量初始化

l 项目运行的过程。

l 输出结果。

4、变量赋值

使用“=”将右边的运算结果,赋给左边的变量名。换句话说:将“=”右边的数据,装到左边容器中。

$name = “abc”;

$name = 100 + 200;

$name+10 = 100; (错误的写法)

PHP变量的数据类型

提示:变量本身没有类型之分,变量的数据才有类型之分。

JS中变量的数据类型:

l 基本数据类型(只有一个值):字符型、数值型、布尔型、NULL、undefined

l 复合数据类型(可能有多个值):数组、对象、函数。

PHP中变量的数据类型:

l 标量数据类型:字符串型、整型、浮点型、布尔型

l 复合数据类型:数组、对象

l 特殊数据类型:资源、NULL

1、整型

整型的取值范围:-21亿~21亿

$a=100;
$a=-100;
$a=0;

  

2、浮点型(小数:有限小数、无限小数)

浮点型取值范围:-1.7E-308~1.7E+308

举例:9E3 => 9*10^3 = 9000

$b=0.98;
$b=-0.99;
$b=100;

  

3、字符串型

字符串的表示方法有三种:

(1)用单引号

单引号内的转义字符,只能是:\\、\’

(2)用双引号

双引号内,所有的转义字符都能使用。如:\\、\’、\”、\$、\n、\r、\t

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
$name="周更生";
$sex="男";
$age=24;
$str="<h2>\"{$name}\"的基本信息</h2>\n";
$str.="姓名:$name";
$str.="<br>性别:$sex";
$str.="<br>年龄:$age";
echo $str;
?> </body>
</html>

  

(3)长字符串的表示方法

l 长字符串表示,必须放在“<<<heredoc”和 “heredoc;”之间。

l “<<<heredoc”必须是开头的标记。

l “heredoc;”必须是结束的标记。必须是单独一行,并且顶头写。

l heredoc可以自定义名称。

l 可以直接解析PHP变量。

(4)字符串的注意事项

l 在双引号内,输出是变量的值。如:echo “{$name}的年龄是24岁”

l 在单引号内,输出的是变量的名称,而不是值。

l 在双引号内,如果一个变量名后跟一个非空字符,则会让编译器糊涂。这种情况解决方案是:后面可以跟一个空格字符,也可以跟英文下的标点符号,这些都会解析变量的。

可以使用大括号,将变量包起来,也能解析变量的。

4、布尔型

$a = true;

$b = false;

布尔值,常用在条件判断中。如:if、while、for等。

5、资源类型

资源类型:是指PHP对外部数据的一个引用。如:数据库、文件操作、图片验证码等。

6、NULL

空型:当使用一个不存在的变量时,返回空型。空型一般认为变量不存在。

空型只有一个值,就是NULL,不区分大小写。

PHP变量的类型判断

1、var_dump()

l 描述:打印变量的相关信息(包括变量的类型和值)

l 语法:void var_dump ( mixed $expression [, mixed $... ] )

l 参数:$expression是指要打印变量的名称,可以是多个变量,多个变量之间用逗号隔开。

l 返回值:无。

2、is_*()

l is_bool():判断变量是不是布尔型。

l is_int():判断变量是不是整型。

l is_float():判断变量是不是浮点型。

l is_numeric():判断变量是不是数值型。

l is_string():判断变量是不是字符串。

l is_array():判断变量是不是数组

l is_object():判断变量是不是对象

l is_null():判断变量是不是空型。

l is_resource():判断变量是不是资源型。

3、isset()

l 描述:检测变量是否设置。

l 语法:bool isset ( mixed $var [, mixed $... ] )

l 返回值:如果变量存在,且不等于NULL,则返回TRUE。否则,返加FALSE。

4、empty()

l 描述:检查一个变量是否为空

l 语法:bool empty ( mixed $var )

l 说明:换句话说,""、0、"0"、NULL、FALSE、array()、var $var;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
$name="Mary";
$school="华南师范大学";
if(empty($school)){
echo "您还没有毕业吧"; }
else{
echo "{$name}的毕业院校{$school}";
} ?> </body>
</html>

  

PHP如何获取表单提交数据

1、超全局数组变量:$_GET[]

l 描述:获取表单 method = “get” 提交的数据

l 举例:$username = $_GET[“username”];

2、超全局数组:$_POST[]

l 描述:获取表单 method = “post” 提交的数据

l 举例:$username = $_POST[“username”];

PHP数据类型转换

变量之间的运算,必须是同类型的。如果类型不同,则必须转成同类型,然后再运算。

变量类型的转换:系统自动转换、强制转换(手动转换)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
$a="10";
$b="20px";
//"+"要求左右两个操作数必须是数值类型
//如果有一个不是的话,要转成数值类在运行
//如果转数值失败则默认为0
$c=$a+$b;
echo $c;
?> </body>
</html>

  

1、其它类型转成布尔型

2、其它类型转成数值型

3、其它类型转成字符型(了解)

PHP运算符

1、算术运算符:+、-、*、/、%、++、--

“%”取余。两个数相除取余数。如果余数为0,说明能除尽。

举例:10 % 3 = 1  //余数为1,说明10不能被3整数

“++”自加1。有两种用法:作前缀(++$i)和作后缀($i++)。

(1)如果单独使用,$i++和++$i,结果一样。

(2)如果将$i++和++$i,混在其它表达式当中,则结果不一样。

2、字符串运算符:.或.=

3、赋值运算符:=、+=、-=、*=、/=、%=

“=”赋值号。将右边运算结果,赋给左边变量。

“+=”先加后等。$a += 10  //展开后  $a = $a+10

“-=”先减后等。$a -= 10   //展开后  $a = $a – 10

“*=”先乘后等。$a *= 10  //展开后  $a = $a * 10

4、比较运算符:>、<、>=、<=、==、!=、===、!==

注意:比较运算符的运算结果,就是一个布尔值。

“=”赋值号。

“==”是等于。判断值是否相等,不管类型。如: 10 == “10px”  //true

“===”全等于。判断类型是否一致,还要判断值是否相等。10 === “10px”  // false

5、逻辑运算符:&&、||、!

l “&&”逻辑与(并且关系)。如果左右两个操作数的结果都为TRUE,则总结果为TRUE。只要有一个为FALSE,则总结果为FALSE。

“||”逻辑或(或者关系)。如果左右两个操作数,有一个为TRUE,则结果为TRUE。如果两个都为FALSE,则结果为FALSE。

“!”逻辑非(取反)。

!TRUE = false

!100 = false

实例:判断用户输入的年份是不是闰年

三元运算符

二元运算符:是左右有两个操作数。如:+、-、*、/

三元运算符:是三个操作数或者表达式。

如果条件为true,则执行“结果1”的代码;如果条件为false,则执行“结果2”的代码。

运算符优先级

2.php语言基础的更多相关文章

  1. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...

  2. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...

  3. C#语言基础

    第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了 ...

  4. C语言基础回顾

    第一章 C语言基础 1.  C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...

  5. 黑马程序员_ C语言基础(二)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述):   1.Hello W ...

  6. C#语言基础— 输入与输出

    C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...

  7. 【GoLang】GO语言系列--002.GO语言基础

    002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...

  8. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  9. OC语言基础知识

    OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...

  10. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

随机推荐

  1. 彻底搞清楚c#中的委托和事件

    一.什么是委托呢? 听着名字挺抽象,确实不好理解.面试官最喜欢考察这个,而且更喜欢问:“委托和事件有何异同?”.如果对一些知识点没有想明白,那么很容易被绕进去.研究任何事物,我们不妨从它的定义开始,委 ...

  2. Java监控任务的生命周期

    Observable: public interface Observable { enum Cycle{ STARTED, RUNNING, DONE, ERROR } Cycle getCycle ...

  3. UVA816 Abbott的复仇 Abbott's Revenge

    以此纪念一道用四天时间完结的题 敲了好几次代码的出错点:(以下均为正确做法) memset初始化 真正的出发位置必须找出. 转换东西南北的数组要从0开始. bfs没有初始化第一个d 是否到达要在刚刚取 ...

  4. UVA514 铁轨 Rails:题解

    题目链接:https://www.luogu.org/problemnew/show/UVA514 分析: 入站序列是1-n,入站后判断如果等于出站序列的当前值,则直接出站.否则就在栈里待着不动.模拟 ...

  5. 个人永久性免费-Excel催化剂功能第62波-单元格区域内数据加解密处理,最有效地保护数据方式

    Excel的数据保护能力有限,诸如之前提及过的工作表保护.工作薄保护等,都是十分微弱的保护措施,而对于强保护的工作薄打开密码来说,它像是个总开关一样,要么全不能看,要么就全看到.有这样的场景需求,一份 ...

  6. Excel催化剂开源第15波-VSTO开发之DataTable数据导出至单元格区域

    上篇提到如何从Excel界面上拿到用户的数据,另外反方向的怎样输出给用户数据,也是关键之处. VSTO最大的优势是,这双向的过程中,全程有用户的交互操作. 而一般IT型的程序,都是脱离用户的操作,只能 ...

  7. html+css test1

    模拟实验楼提供的一个网页.. [可由 git clone https://github.com/shiyanlou/finaltest 获取相关图片素材] <!DOCTYPE html>& ...

  8. eclipse(java windows)

    百度云:链接:http://pan.baidu.com/s/1i4Zjv97    密码:u0qh 官方下载网址:http://www.eclipse.org/downloads/eclipse-pa ...

  9. linux初学者-sshd服务

     linux初学者-sshd服务   在linux系统操作中,经常需要连接其他的主机,连接其他主机的服务是openssh-server,它的功能是让远程主机可以通过网络访问sshd服务,开始一个安全s ...

  10. iOS 类知乎”分页”效果的实现?

    我们先看张gif图看一下效果(LICEcap录制的有点卡, 凑合看) 好像还是卡, 怼个视频演示链接吧: https://m.weibo.cn/1990517135/4398431764047996 ...