PHP相关

一、PHP简介

  • PHP超文本预处理器。是嵌入HTML文件中的服务器端脚本程序。换句话:PHP只能运行在服务器上。
  • 一个HTML文件中,可以包含的代码:HTML代码、CSS代码、JS代码、PHP代码等。

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

  • PHP入门比较简单,语法与C、Java、C#、JS等相似。
  • PHP主要用函数做各种操作,而JS主要用内置对象作操作。

二、PHP语言基础

  • PHP代码,跟ASP一样,都是嵌入到HTML文件中去的。
  • PHP代码标记:<?php …… ?>
  • PHP文件的扩展名:.php
  • PHP文件的执行,必须从域名开始访问(必须要经过虚拟主机)。
  • 访问PHP文件的路径上,不能包含空格和中文。
  • PHP也是区分大小写,但关键字和函数名不区分大小写。
  • PHP中每条语句,必须以英文下的分号结束(;)。
技术分享

三、PHP注释

  • HTML注释:<!—注释内容 -->
  • CSS注释:/* */
  • JS注释://或/* */

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

  • PHP的单行注释://或#
  • PHP的多行注释:/* */

提示:多行注释不能相互嵌套。
注意:PHP的注释,与代码一样,最终在客户端都是不可见。


技术分享

四、PHP变量

1、变量的概念
变量是临时存储数据的容器。

2、变量的命名规则

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

3、写程序的一般思路

  • 变量初始化。
  • 项目运行的过程。
  • 输出结果。
技术分享

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

$name = “abc”;
$name = 100 + 200;

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

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

JS 中变量的数据类型:

基本数据类型(只有一个值):字符型、数值型、布尔型、NULL、undefined
复合数据类型(可能有多个值):数组、对象、函数。

PHP 中变量的数据类型:

标量数据类型:字符串型、整型、浮点型、布尔型
复合数据类型:数组、对象
特殊数据类型:资源、NULL

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

技术分享

2. 浮点型(小数:有限小数、无限小数)
浮点型取值范围:-1.7E-308~1.7E+308
举例:9E3 => 9*10^3 = 9000

技术分享
技术分享

3. 字符串型
字符串的表示方法有三种:
(1)用单引号

单引号内的转义字符,只能是:\\、\’
<?php //用单引号表示字符串 $str =‘自挂\‘东南\\枝‘; echo $str;?>
技术分享

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

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

  • 长字符串表示,必须放在“<<<heredoc”和 “heredoc;”之间。
  • “<<<heredoc”必须是开头的标记。
  • “heredoc;”必须是结束的标记。必须是单独一行,并且顶头写。
  • heredoc可以自定义名称。
  • 可以直接解析PHP变量。
//长字符串的表示方法
$name = "林长生";
$edu="北京理工大学";
$str = <<<heredoc
<p onMouseOver="pOver(this)" onMouseOut="pOut(this)">
1.tornado
2.Python 和Ruby,scala
3.semantic UI 和 Element UI
4.app hybrid开发
5.backbone
6.Grunt,Gulp
7.Ember.js ,chart.js,undescore.js
8.typescript
9.RESTful service
浏览器兼容问题 
解决人: {$name} 来自: {$edu}
</p>
<script type="text/javascript">
  function pOver(pObj){ 
    pObj.style.backgroundColor="skyblue";
  }
  function pOut(pObj){ 
    pObj.style.backgroundColor="";
  }
</script>
heredoc;
echo $str;
技术分享

(4)字符串的注意事项

  • 在双引号内,输出是变量的值。如:echo “{$name}的年龄是24岁”
  • 在单引号内,输出的是变量的名称,而不是值。
  • 在双引号内,如果一个变量名后跟一个非空字符,则会让编译器糊涂。这种情况解决方案是:后面可以跟一个空格字符,也可以跟英文下的标点符号,这些都会解析变量的。
技术分享

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

技术分享

4. 布尔型
$a = true;
$b = false;
布尔值,常用在条件判断中。如:if、while、for等。

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

<?php 
  //PHP链接MySQL数据库(旧的,将要移除) 
  // $link = mysql_connect("localhost","root",""); 
  // echo $link;

header("content-type:text/html;charset=utf-8");
$servername = "localhost";
$username="root";
$password="";
$conn=new mysqli($servername,$username,$password);
if($conn->connect_error){ 
    die("数据库连接失败:".$conn->connect_error);
} else { 
    echo "数据库连接成功";};
?>

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。

<?php
  //form表单提交 
  // if(isset($_GET)){ 
  // //打印全局数组的信息 
  // var_dump($_GET); 
  // } 
  if(isset($_POST["username"])){ 
    //获取表单元素的值 
    $username = $_POST["username"]; 
    echo "用户名:{$username}"; 
  } 
?>

<form name="formal" method="get" action=""> 
  用户名:<input type="text" name="username"> 
  密码: <input type="password" name="userpwd"> 
  <input type="submit" value="提交表单">
</form>

4. empty()

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

技术分享

PHP如何获取表单提交数据
1. 超全局数组变量:$_GET[]

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

<?php
  //form表单提交 
  // if(isset($_GET)){ 
  // //打印全局数组的信息 
  // var_dump($_GET); 
  // } 
  if(isset($_POST["username"])){ 
    //获取表单元素的值 
    $username = $_POST["username"]; 
    echo "用户名:{$username}"; 
  } 
?>

<form name="formal" method="get" action=""> 
    用户名:<input type="text" name="username"> 
    密码: <input type="password" name="userpwd"> 
    <input type="submit" value="提交表单">
</form>

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

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

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

PHP数据类型转换
1. 其它类型转成布尔型

技术分享

2. 其它类型转成数值型

技术分享

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

技术分享

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

  1. “%”取余。两个数相除取余数。如果余数为0,说明能除尽。
    举例:10 % 3 = 1 //余数为1,说明10不能被3整数

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

    (2) 如果将$i++和++$i,混在其它表达式当中,则结果不一样。
    $c = $a+++10; //等于$c = ($a++)+10

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 = false
!100 = false

三元运算符

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

运算符优先级

技术分享

PHP相关
原文:http://www.cnblogs.com/mrszhou/p/7260968.html

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

推荐阅读更多精彩内容

  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 3,086评论 4 97
  • PHP基础 服务端web开发 在讲解什么是服务端开发之前,让我们先思考几个问题: 网站访问:当我们做好了.html...
    magic_pill阅读 417评论 1 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139
  • 很多人在刚工作的时候,总会出现这种情况:明明没花什么钱,可以一到月底还是月光。其实,归根到底,问题还是出在自己身上...
    行动派DreamList阅读 1,209评论 0 11
  • 我不知道我的未来 就像我不曾知道我的过去 夏日的午后 我穿过有风吹过的长廊 穿过我自己的生命看到成、往、坏、空 看...
    落萧阅读 618评论 0 5