php如何执行
1, 通过web服务器,调用php进行执行。(Php与web服务器之间使用sapi进行通信)
2, 作为命令行脚本执行。我们在命令下,直接运行php.exe,此时没有Apache的等web服务器的参与,php自己运行的,也可以用于运行某个php脚本:
-f 选项,指明允许的php文件,注意,如果是在命令行下,那么请求相关的资源就不可使用了。
php基本语法、
php标签
1,标准标记
<?php echo 'hello'; ?>
<script language=”php”> echo 'hello'; </script>
2,兼容标记
短标记(默认不开启,需要开启配置 short_open_tag = On)
<? echo 'hello'; ?>
asp风格(同样需要开启配置,asp_tag = On)
<% echo 'hello'; %>
php支持省略结束标记,在php代码最后一段时才支持
语句结束符 ;
行注释//
块注释/* 内容 */
变量
定义:程序的运行过程中,可以发生改变的量(数据),称之为变量
变量名:可由字母数字下划线组成,不能以数字开头,大小写敏感(区分大小写)
建议用下划线分隔法
变量的操作
php的变量可以直接使用,不用声明,而且可以保存任何数据。
删除一个变量
unset()可以删除一个变量
删除一个变量,是应该删除变量和值,包括之间的引用。
但是unset只负责删除名和引用,值的部分是由php核心解释器自动完成度的
那么问题来了,就可能出现变量名消失,但是变量值还在的情况。
变量的赋值
情况1,值传递
上面是复制了值的空间,称为变量之间的值传递
情况2,引用传递
语法上,在赋值时使用&取得引用即可
上面的赋值方式是引用传递,可以理解为一个东西拥有多个名字
如果unset其中一个名字,不影响另外一个使用(上面有提到unset并不能删除值)
可变变量
一个变量的名部分($后面的部分),可以由另外一个变量来充当
$name = 'hello'; $hello = 'php'; echo $$name;//php
可变变量实际使用中已经扩展到可变标识符,在php中几乎所有变量都可以用变量代替,最常见的就是函数标识符
function f(){ echo 'f'; } $f_name = 'f'; $f_name();//f
php已经预先定义好的变量,称之为 九大超全局数据变量
$_GET $_POST $_REQUEST $_FIELS $_COOKIE $_SERVER $_SESSION $_ENV $GLOBALS 大小写敏感
$_GET
服务器接收浏览器数据的方法
通过浏览器地址栏发送的请求就是get请求
在php中统一用$_GET接收
$_POST
是接收表单的请求方法
$_REQUEST
$_REQUEST = $_GET+$_POST
如果get和post数据名冲突则默认保留的是post数据
$_SERVER
保存服务器和浏览器的信息
$_FILES
文件上传变量,接收浏览器上传的文件信息
$_COOKIE
保存浏览器缓存
$_ENV
shell的环境信息
$_GLOBALS
超全局作用域
$argv,$argc
在命令行如果接收到get数据呢?(开头说了命名行只能接收get数据)
在脚本内用argv,argc接收数据
$argv保存所有的参数,用0开始(0为路径)
$argc保存所有的参数个数
常量
定义一个固定的值的量(不能更改常量的值和删除)
定义:define('PAI',3.1415);//常量定义通常大写,区分变量和常量
现版本支持const 定义常量 //const PAI = 3.1415;
define('ONE',1,0);第三个参数默认0区分大小写,1则不区分
defined('PAI');//判断常量是否已经定义,已经定义返回true 否则false
get_defined_constants();//返回所有已经定义的常量包括开发者定义和预定义的常量
魔术常量
举例
可变的类似常量的语法叫魔术常量
数据类型
php是一种弱类型语言,一个变量可以存储任意格式的数据,但是数据是有类型之分的。
八种类型:整形,浮点,布尔,字符串,数组,对象,资源,NULL
var_dump();输出数据值和类型
进制
dechex();//10 to 6
decoct();//10 to 8
debin();//10 to 2