有人说php是世界上最好的语言,那它好在哪呢。
它是开源*的软件,能够在所有的操作平台上稳定的运行,入门比较简单。对于我这种没学过什么计算机语言的人是最好的起步点。
PHP现在的含义:Hypetext Perprocessor 超文本预处理语言
那就先学习它最最基础的知识。
php标记
php有四个标记,这里只推荐一个其他三个不推荐。
<?php
?>
php常见的输出语句
print() 简单输出语句,可以输出字符串,变量、表达式等单项的值!(不能输出数组、对象等复杂数据类型)
echo 简单输出语句,一次可以输出多个数据,中间以逗号分隔!
var_dump() 在测试代码的时候使用的最多的语句,不仅仅可以输出一个或多个数据项的值,还可以打印出数据项的类型、长度等额外的信息!而且可以输出复杂数据类型!
print_r() 只打印数组的元素,不打印其他额外的信息
printf 比较擅长输出由静态文本和其他变量所组成的“混合产物”!里面还有变量占位符
常见的变量占位符:
%c:将后面的变量认为是一个整数,并显示为该整数所对应的ACSII码的值
%d:将后面的变量认为是一个整数,并显示为有符号的十进制数
%u:将后面的变量认为是一个整数,并显示为无符号的十进制数
%o:将后面的变量认为是一个整数,并显示为无符号的八进制数
%x:将后面的变量认为是一个整数,并显示为无符号的十六进制数
%f:将后面的变量认为是一个浮点数,并显示为浮点数
%s:将后面的变量认为是一个字符串,并显示为字符串!
printf的最大优势是可以控制输出变量的格式!
php声明变量
$变量名 = 变量值
变量的基本语法$!
$只是一个语法形式,代表后面的标识符为一个变量名!
所以,$不算是变量名的一部分,用于标识后面的字符串是一个变量名!
变量名的命名规则:
遵守基本标识符的命名规范(以字母、数字和下划线组成,不能以数字开头)
对大小写敏感(区分大小写)
可以使用中文,但是强烈不推荐
变量名一般要做到见名知意
变量名如果由多个单词组成的时候,可以有三种方式:StudentName(大驼峰法);studentName(小驼峰法);student_name(下划线法,推荐)
可变变量:
变量一共就两个部分:
变量名 变量值
其中变量值肯定是可变的,所以,可变变量的含义就是变量的名字可变,也就是说,变量的名字可以用另外一个变量来代替!所以,可变变量也叫作变量的变量!
例子: $abc = 'def'
$def = 200
echo = $$abc !两个$$其中后面的$代表abc,也代表abc的值def,所以后面的$会消失变成$def,这时候$def已经给了一个变量值,所以就把这个值输出。
结果会输出200
删除变量
unset(变量名)
变量的传值
当使用一个变量为另一个变量赋值的时候,又可以分成两种情况:
1.值传递:$变量名1 = $变量名2 !这里要说一下内存的那些事,变量值和变量名是存在内存不同的地方,变量名要去引用变量值,如果变量赋值到另一个变量,那这个被赋值的变量的变量值就
会开辟出新的变量值空间,两个变量的变量值互不干扰
2.引用传递:$变量名1 = &$变量名2 !这里两个变量的变量值是共用的,在一个变量值赋值到另一个变量值后,被赋值的变量的变量值并没有开辟新的变量值空间,而是引用回给它赋值的那个
变量的变量值空间
预定义变量
就是系统已经预先定义好了,我们直接拿来使用就行了!
$_SERVER 指的是,服务器可以收集到的浏览器信息和服务器信息的集合!是一个数组!在真实的项目中,需要什么就打印什么,通过数据的中括号语法访问其中的一些元素!
$_GET 用于接收用户在填写表单的时候采用get方式提交的所有的数据!数据会显示在URL上,而且传输的容量比较少,不安全。
$_POST 用于接收用户在填写表单的时候采用get方式提交的所有的数据!数据会发送到指定的php文件上,传输的容量大,安全。
$_REQUEST 包含了用户所有的请求数据,典型就是post数据和get数据,其实还有cookie数据
常量
常量一旦定义,就不能被修改或删除!常量是全局的,在脚本的任意的地方都可以使用!(包括函数内和函数外)!
定义常量有两种方法:
define('常量名','常量值',true) !true在这里表示不会区分大小写,不写就区分
const 常量名=常量值;
常量的命名规则:
常量名不能有$
常量名的命名规则与变量相似,而且更加宽松!
常量有一个唯一的输出方式
constant(‘常量名’);
常量的语法意义:
其实,凡是使用常量的地方都可以用变量来代替,常量主要用于某个值不需要变化的时候,通过使用常量来进行规范,保证数据在运行的时候不被更改!
可以获得当前自定义常量和系统预定义常量:
get_defined_constants()
魔术常量
魔术常量的最大特点是:以两个下划线开始,以两个下划线结束!
__FILE__当前脚步所在的路径;__DIR__当前脚步所在的目录;__LINE__当前代码的所在行数;
__FUNCTION__ 当前函数的名字
__METHOD__ 当前方法的名字
__CLASS__ 当前类的名字
__NAMESPACE__ 当前命名空间的名字