PHP笔记2基础语法

PHP简介

PHP超文本预处理器。是嵌入HTML文件中的服务器端脚本程序。换句话说PHP只能运行在服务器上。
一个HTML文件中,可以包含的代码:HTML代码、CSS代码、JS代码、PHP代码等。
PHP的主要功能:web应用开发(线上产品 )。
PHP入门比较简单,语法与C、Java、C#、JS等相似。
PHP主要用函数做各种操作,JS主要用内置对象操作。

PHP语言基础

  • PHP代码,和ASP一样,都是嵌入到HMTL文件中去的。
  • PHP代码标记:<?php ?>
  • PHP文件的扩展名: .php
  • PHP文件的执行,必须从域名开始访问(必须要经过虚拟主机)。
  • 访问PHP路径上,不能包含空格和中文。
  • PHP也是区分大小写的,但关键字关键字和函数名不区分大小写。
  • PHP中的每条语句,必须是英文下的分号结束(;)。
  • ” ” 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。
  • ‘ ‘ 单引号里面的不进行解释,直接输出。

PHP注释

PHP变量

1、变量的概念

变量是临时存取数据的容器。
变量可以看成是宾馆的房间号。
变量看成是一个瓶子,瓶子中可以装水,装汽水,沙子,酱油

2、变量命名规则

  • 变量名可以包括: a-z、A-Z、0-9、_(下划线)
  • 变量名不能以数字开头。
  • 变量名可以以字母或下划线开头。
  • PHP的变量前,必须 以‘$’符号开头,但‘$’不是变量名的一部分。如:$name、$age
  • 对长文件名,如何 命名?
    • ‘驼峰式 命名’:$getUserName、$getUserPassword
    • ‘下划线式命名’: $get_user_name

3、写程序的一般思路

  • 变量初始化
  • 项目运行的过程
  • 输出结果

4、变量赋值

使用“=”将右边的运算结果,赋给左边的变量名。换句话说:将“=”右边的数据,装到左边容器中。
$name = “abc”;
$name = 100 + 200;
$name+10 = 100; (错误的写法)

PHP变量的数据类型

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

  • JS中数据类型:

  • string

  • boolean

  • number

  • undefinded

  • null

  • symbol

  • object

  • php数据类型

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

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

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

1.整型

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

浮点型取值 范围:-1.7e-308~1.7e+308
举例:9e3 => 9*10^3 = 9000;

3.字符串类型

字符串表示方法有三种:

  • (1)用单引号
    单引号内的转义字符,只能是\\ 、\

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

  • (3)长字符串的表示
  • 长字符串表示,必须放在“<<<heredoc”和 “heredoc;”之间。
  • “<<<heredoc”必须是开头的标记。
  • “heredoc;”必须是结束的标记。必须是单独一行,并且顶头写。
  • heredoc可以自定义名称。
  • 可以直接解析PHP变量。
  • (4)注意事项
    • 双引号内,输出是变量的值。echo"{$name}"的年龄是24岁
    • 单引号内,输出的是变量的名称,而不是值。
    • 在双引号内,如果一个变量名后跟一个非空字符,则会让编译器糊涂。这种情况解决方案是:后面可以跟一个空格字符,也可以跟英文下的标点符号。

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

4.布尔值

$a = true;
$b = false;

5.资源类型

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

6.NULL

空型:当使用一个不存在的变量时,返回空型。空型一般认为变量不存在。
空型只有一个值,就是NULL,不区分大小写

PHP变量的类型判断

1、var_dump()

  • 描述:打印变量的相关信息(包括变量的类型和值)
  • 语法:void var_dump ( mixed $expression [, mixed $... ] )
  • 参数:$expression是指要打印的变量名称,可以是多个变量,多个变量之间用逗号隔开
  • 返回值:无

2、is_*()

  • is_bool():判断变量是不是布尔型。
  • is_int():判断变量是不是整型。
  • is_float():判断变量是不是浮点型。
  • is_numeric():判断变量是不是数值型。
  • is_string():判断变量是不是字符串。
  • is_array():判断变量是不是数组
  • is_object():判断变量是不是对象
  • is_null():判断变量是不是空型。
  • is_resource():判断变量是不是资源型。

3、isset()

  • 描述 :检测变量是否设置
  • 语法 :bool isset ( mixed $var [, mixed $... ] )
  • 返回值:如果变量存在,且不等于NULL,则返回TRUE.否则返回false

4、empty()

  • 描述:检查一个变量是否为空
  • 语法:bool empty ( mixed $var )
  • 说明:换句话说,""、0、"0"、NULL、FALSE、array()、var $var;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

PHP如何获取表单提交数据

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

  • 描述:获取表单 method = “get” 提交的数据
  • 举例:$username = $_GET[“username”];

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

  • 描述:获取表单 method = “post” 提交的数据
  • 举例:$username = $_POST[“username”];

PHP数据类型转换


变量之间的运算,必须是同类型的。如果类型不同,则必须转成同类型,然后再运行。
变量类型的转换:系统自动转换、强制 转换(手动转换)

1、其他类型转转成布尔类型

2、其他类型转成整型

3、其他类型转换成字符串

<meta http-equiv="content-type" content="text/html;charset=utf-8">
<?php 
//实例、其他类型转换成字符串型
/*
    总结:
    (1)null和false转换成空字符串
    (2)整数0,转换成"0"
 */
$a = 100;
$a = 0;       //"0"  
$a = 10.98;   //"10.98"
$a = null;    //""
$a = true;    //"1"
$a = false;   //""

//使用元算符(int)强制转换
$result = (string)$a;
//打印变量的类型和值
var_dump($result);

?>

PHP运算符

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

  • "%"取余。两个 数相除取余数。如果余数为0,说明能除尽。
    举例:10%3 = 1 //余数为1,说明10不能被3整除
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<?php 
//输出0-100之间的偶数
for ($i=0; $i < 100 ; $i++) { 
    //如果是偶数,则输出
    if ($i%2) {
        echo $i." ";
    }
}

?>
  • “++”自加1。有两种用法:作前缀(++$i)和作后缀($i++)。
  • (1)如果单独使用,$i++和++$i,结果一样。

  • (2)如果将$i++和++$i,混在其它表达式当中,则结果不一样。
<?php
$a = 10;
$b = $a++; // 先赋值再加1。先将变量$a的值,赋值变量$b,然后,再将$a+1
var_dump($a,$b);
//***********************
$a = 10;
$b = ++$a; // 先加1再赋值。先将$a+1,再将结果赋给变量$b
var_dump($a,$b);


$c = ++$a+10;
//$c = $a+++10;
var_dump($a,$c);
?>

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、逻辑运算符:&&、||、!

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

  • “!”逻辑非(取反)。
    !TRUE = false
    !100 = false

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

  • 三元运算符
    二元运算符:是左右有两个操作数。如:+、-、*、/
    三元运算符:是三个操作数或者表达式。

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

运算符优先级

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,165评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,720评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,849评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,245评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,596评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,747评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,977评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,708评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,448评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,657评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,141评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,493评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,153评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,890评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,799评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,685评论 2 272

推荐阅读更多精彩内容