一、什么是PHP呢?
1、LAMP架构:目前国际流行的Web框架
L:linux:是免费的开源软件,这意味着源代码可用的操作系统。
A:Apache: 是使用中最受欢迎的一个开源源码的WEB服务器软件
M:Mysql数据库:关系型数据库管理系统, Oracle旗下产品
P:PHP
2、什么是PHP(Hypertext Preprocessor)?
它中文叫作超文本预处理器,1994年的时候lerdorf创建的,PHP最刚开始,是为了维护他个人网站的,后台采用c语言进行重写
Python-作者喜欢一个叫python的马戏团
3、PHP能干什么?
(1)客户端图形界面(GUI)程序,0.x%
(2)命令行脚本程序运行 X%
(3)服务器端脚本程序,动态网站,PHP是一种在服务器端执行的嵌入html文档的脚本语言(主要用来动态的获得网站中的数据),全世界的网站大概82%的用php作为服务器端脚本语言
4、PHP的优点
(1)开放源代码的服务器端脚本语言,好处是,你知道它是怎么走的,例如:后盖透明的手表
(2)可以运行在所有的的操作系统中,例如:windows、linux、
(3)支持大量的数据库,例如:mysql、oracle、sqlite
(4)可以创建图片
等等
5、PHP的安装方式
(1)windows安装
单个下载安装
集成环境主要用来学习,集成环境windows有:phpStudy、XAMPP 、WAMP、PHPnow、AppServ等
(2)liunx安装
6、集成环境
(1)网站根目录:用来放置程序源代码的,PHP将这个文件夹中的文件进行解析
(2)httpd.conf是apache的配置文件
(3)php.ini是php的配置文件
(4)my.ini是mysql的配置文件
注:
1、如果你修改了httpd.conf和php.ini中的选项,必须启动apache才能生效
2、但是为什么修改php的配置文件要重新apache呢
因为apache是web服务器,php只是跑在上面的一个模块,它没有控制面板,也就解释了为什么要重新启动apache
二、第一个PHP项目
1、在php根目录下创建一个*.php的文件,*代表任意的英文字母
2、写代码
<!--<span>hello<span>-->
<style type="text/css">
/**span{color:red}**/
</style>
<script>
//alert(1);
</script>
<?php
echo 111;
phpinfo();
?>
3、运行文件: localhost/文件名或者127.0.0.1/文件名,千万不要双击打开,或者右键打开方式打开
4、基本语法
(1)php语言标记符
<?php ?>
<? ?> 短标签格式
<% %> asp语言格式标记
<script language="php"></script> 长标签格式
注:
php只对标记符内部的代码进行处理
<? ?>必须在php.ini中配置才可以使用 short_open_tag = On
<% %>必须在php.ini中配置才可以使用 asp_tags = On
如何开始标记到文档结束位置都是php代码可以不加?>结束标记符号
(2)echo 表示输出的意思,输出后面的php
(3)语句分隔符:php中使用;来表示一条语句的结束
注:
在每个脚本中,与?>最近的一条语句可以不加封号,php也会认为之前的php代码结束了,不会报错
5、php注释符号
(1)作用:写程序说明、有些代码暂时不用可以先注释起来、调试代码、
(2)//单行注释:和c、java注释符相同
(3)#用来做脚本注释的
(4)/** **/多行代码注释,可以注释掉任意多的代码
注:注释要写在你要注释代码的上面或者右面,这是一个惯例,右键源代码是看不到注释的,php已经事先将注释去掉了
6、关于程序的空白:空格、换行、空行
php会忽略程序中的空白,程序中的空白是来增强代码的可读性的
三、变量
1、什么是变量:可变的量叫变量,量是个可以用来存储数据的容器
2、变量的作用:对不同内容进行多次调用
3、格式:
(1)$变量名=变量的值
(2)$变量名1=¥变量名2=......=变量的值
注:
变量名必须以$符号开头
变量的名字可以由数字、字母、下划线组成,但是不能以数字开头(变量名要有意义)
4、变量命名的其他方式:因为有些时候一个单词表达不了变量的意思,我们需要由多个单词来描述变量
(1)驼峰命名法:第一个单词使用小写,以后每个单词的第一个字母都用大写来表示,例如,单驼峰:backgroundColor,双驼峰:BackgroundColor
5、变量的类型
(1)8种数据类型:
4种标量:标准的量
字符串:string
整型:integer
浮点型:float
布尔型:boolean
2种复合类型:里面可以放多个值
数组:array
对象:object
2种特殊类型:
资源类型:resource 比如打开一个文件夹,对这个文件夹进行操作
null
(2)小工具
va_dump(变量名):查看变量的类型
unset(变量名):释放变量
注意:变量如果不使用unset释放那么在脚本执行结束后才能自动释放
(3)布尔型:boolean 用来做开关,条件的处理
true:真
false:假
注意:
如果直接输出,echo true;输出1,echo false;输出空,这是因为php是弱类型语言,自动转换导致的
小工具:
is_bool(变量名):检测变量是否为布尔型,如果是返回真,如果不是返回假
(4)整型:integer 整数
php 整型的最大值是2的31次方-1,最小值是负2的31次方-1
整数的值可以是十进制、二进制、八进制、十六进制
十进制的由来:21——1*10的0次方+2*10的1次方
二进制转十进制:0101——1*2的0次方+0*2的1次方+1*2的2次方+0*2的3次方——5
十进制转二进制:一直除以2取余数然后用商继续除,直到除不下去位置(商为0),然后倒序输出
二进制:0 1 0b开头
十进制:0-9
八进制:0-7 0开头
十六进制:0-9 a-f 0x开头
注意:不管你是多少进制的整数,到最后echo都会以10进制进行输出
(5)浮点数:float 小数
注意:
永远不要相信浮点数的结果精确到了最后一位,也不要比较两个浮点数是否相等
小工具:
is_int:判断是否为整形
is_float:判断是否为浮点型
is_numeric:判断变量是否为数值
(6)字符串:
php对字符串长度的限制和服务器运行内容有关,一个字符占用一个字节
字符串的声明:
单引号:原样输出
双引号:可以解析变量
<<<任意字母:字母前后不能有空格,结尾以自定义的字母结尾,需要顶格写
对于字符串的乱码:
<meta charset="utf-8"/> html页面
header("Content-type:text/html;charset=utf-8") php页面第一行写
注意:
双引号中使用变量如果字符紧挨着特殊字符可以用大括号将变量括起来
双引号还可以解析转义字符(\n换行,\r回车,\t水平制表符)
工具:
is_string(变量名):检查变量是否为字符串
(7)null:表示一个变量没有值,NULL类型唯一的值就是null
注意:
null不区分大小写
被认为null的情况:
被赋值为null的变量
没有被赋值的变量
被unset掉的变量
6、php数据类型转换
(1)php是弱类型语言,变量的类型可以随着变量的值进行变化,而强类型必须在申明变量的时候指定响应的数据类型
(2)会被转换为布尔值假的情况
false
0 0.0 0.00
空字符串
字符串0
null
没有申明的变量
(3)会被转换为数值的情况
false 0 true 1
浮点型转换为整型将会舍去小数部分
字符串转换为整型取决于开始字符,如果是以数字开始直到结束,将会转换成原来的值,如果后面是字符串,从哪里开始不是数值就会转换到此,例如123abc——123
(4)转换为字符串
true转换为“1”
false转换为“”
数组转换为字符串array
null被转换成空字符串
(5)强制类型转换
gettype(变量名):获取变量的类型
settype(变量名,转换为什么类型):设置变量的类型
可转换为什么类型:boolean、integer、double(float)、stirng、array、object、resource、null
在变量使用时在前面加上类型符号进行转换,赋值时候使用,设置新的变量类型,原变量类型不变
类型符号:int、bool、float、string、array、object