PHP基本句型方法区分大小写句子结束符,使用分号
不建议省略!
变量的基本含义
变量是包含名称和值的“标识符”。
形式:变量必须以$开头,后跟变量名
//表示变量名$val 引用了数值1的地址
//当我们在代码中使用$v1这个变量名,就是指使用“1”这个数据值。
$va1 = 1;
注意:一般情况下,在可以出现变量的句型中,只要出现$符号,并且后面跟有字符“,”,就会被识别为变量,即使该变量不存在。
echo “人民币符合¥像个羊,美元符号$象个钱”;//这里就会有问题!
变量的基本使用
Value:在所有需要变量值的句子中,都会获取变量的值。 常见的例子包括
判断变量是否存在 isset()
修改变量值(赋值)
删除unset():就是打破变量名和数据之间的“引用关系”。
命名规则
通常命名包括变量名、函数名、常量名、类名、接口名等。
基本规则只能使用大小写字母、下划线(_)、数字不能以数字开头、不能与环境(系统)的关键字同名(如if、for、function...)行业规则(隐藏规则)
基本规则保证了句型的正确性。
行业规则保证你能否得到别人的尊重!
行业规则中,常用的命名规则有以下几种:
驼峰命名法:
示例:name、myName、myFatherName 帕斯卡命名法:
示例:Name、MyName、MyFatherName 下划线分隔方法:
示例:name、my_ame、my_father_name 变量之间的值传递形式。 这里讨论的值传递形式是指:一个变量到另一个变量。 除了仅适用于形参语句外,还适用于其他具有相同含义的语句,例如:函数从形参到左值的传值只有两种形式:按值传递和按引用传递。 在 PHP 中,所有变量默认都是按值传递。要使用引用传递,必须使用引用传递表示法:&pass-by-value
它是指复制一个变量的数据值(数据内容),然后将形参赋予另一个变量。
$v1 = 1;
$v2 = $v1;//有值传递
$v3 = $v1 + 10;//无值传递
粘贴_图像.png
通过引用传递
复制一个变量的引用关系,然后将参数赋予另一个变量,即另一个变量也通过关系确定指向某个数据
$v10 = 10;
$v20 = &$v10;
粘贴_图像.png
赋值(传值)后,两个变量指向相同的数据。 然后:对变量v10进行操作,改变了数据php可变变量,即表明v20也发生了改变。
$v10++;
echo $v20;//11
在通过引用传递值的情况下,如果取消设置一个变量,则与其相关的另一个变量(指向相同数据的关系)将不会受到影响。
unset($v20);
echo $v10;//11
echo $v20;//报错,提示Undefined
可变变量
所谓变量变量,就是一个变量的名字,也是一个变量。
$v1 = “abc”; //这是一个字符串变量,其内容是字符串“abc”
$abc = 10; //这是一个普通变量,其内容是数字10
echo $$v1; //此时,就是所谓“可变变量”
每当$符号出现时,就可以将其理解为变量。 如果出现第一个“$”,PHP会将其解释为变量,变量名为$v1; 我们知道$v1的值为“abc”,那么第一个“$”符号之前的变量名将是“abc”,即:echo试图输出的是变量$abc,它自然是数字10
即从最左边的$符号开始,$(&v1) => $abc => 10。理论上,变量变量可以有更多的嵌套php可变变量,如:$$$def;
预定义变量预定义变量又称为超级全局变量,包括:$_GET、$_POST、$_SERVER、$_REQUEST、$GLOBALS、$_COOKIE、$_SESSION、.........(约10)范围问题:在php中,自定义变量的作用域分为两种:全局作用域(函数外)和局部作用域(函数内)。 但预定义变量的作用域称为“超全局作用域”:全局作用域+局部作用域之和(函数内外都可用) 数据类型问题:超全局变量都是字段! $_GET 变量(数组)
预定义的数组变量$_GET指的是GET方法提交的所有数据的集合(数组),例如
形式一:
项目1:
项目2:
它的作用是:用户填写表单数据并提交后,数据将被发送(提交)到页面abc.php。 其实也可以理解为“打开”网页(abc.php),或者“请求”页面。 网页 (abc.php)
形式二:
Get
它的功能是:用户点击链接后,会将数据发送(提交)到页面abc.php。 其实也可以理解为“打开”网页(abc.php),或者“请求”网页(abc.php),这个请求也是一个get请求
形式三:
location.href = “abc.php?uName=test1&uPswd=123”; //利用location对象的属性href
它的作用是:当执行这行语句时(通常看起来是在函数中),数据就会被发送(提交)到页面abc.php。 其实也可以理解为“打开”网页(abc.php)。 也可以理解为“请求”网页(abc.php)。 这个请求也是一个get请求。
形式四:
location.assign( “abc.php?uName=test1&uPswd=123”); //利用location对象的方法assign()
它的作用是:当执行这行语句时(通常看起来是在函数中),数据就会被发送(提交)到页面abc.php。 其实也可以理解为“打开”网页(abc.php)。 也可以理解为“请求”网页(abc.php)。 这个请求也是一个get请求。
无论哪种方式获取提交的数据,获取数据都是一样的:(在abc.php网页中)
下面的输出是$_GET,第一个是形式
姓名:
密码:
年龄:
爱好:
足球
篮球
羽毛球
php代码
最终输出是
array(4) {
["uName"]=>
string(4) "Jens"
["uPswd"]=>
string(6) "123456"
["uAge"]=>
string(2) "21"
["uHobby"]=>
array(2) {
[0]=>
string(6) "lanqiu"
[1]=>
string(8) "yumaoqiu"
}
}
$_POST 变量(数组)
与$_GET变量(数组)类似,$_POST表示页面以post形式提交的数据生成的字段。
通过邮寄提交数据通常只有一种方式:
项目1:
项目2:
它的作用是:用户填写表单数据并提交后,数据将被发送(提交)到页面abc.php。 其实也可以理解为“打开”网页(abc.php),或者“请求”页面。 网页(abc.php)接收post数据的方式是:(在abc.php网页中)
通常网页中的form表单一般采用post表单,而get方法主要体现在其他三种方法中。
$_REQUEST 变量(数组)
$_REQUEST链表实际上并不是一个独立的数据源,而是$_POST数据和$_GET数据的“和”。 也就是说,$_REQUEST链表包括所有$_POST数据和$_GET数据——它实际上是手动存储在系统内的。 的。 通常,$_POST数据和$_GET数据不会“同时出现”,$_REQUEST链表代表其中之一。
无论表单提交方式是GET还是POST,接收方式都是
$u = $_REQUEST['XXX'];
get和post数据同时提交的情况
...
项目1:
项目2:
此时uName和uPswd这两个数据以post的形式提交给abc.php,同时:a=5和b=10这两个数据以post的形式提交给abc.php得到
然后在abc.php页面中:
//这样取得get数据:
$v1 = $_GET[‘a’];
$v2 = $_GET[‘b’];
//这样取得post数据:
$v3 = $_POST[‘uName’];
$v4 = $_POST[‘uPswd’];
//但,也可以这样取(全有了):
$v1 = $_REQUEST[‘a’];
$v2 = $_REQUEST[‘b’];
$v3 = $_REQUEST[‘uName’]
$v4 = $_REQUEST[‘uPswd’]
当get数据和post数据同时提交并且名称相同时会发生什么?
$_SERVER 变量(数组)
该变量存储了服务器或客户端的一些请求信息或设置信息,对于不同的服务器、不同的请求页面,数据项可能不同。
所有项目的输出代码
$value) {
echo $key . " ==> " . $value;
}
?>
$GLOBALS 变量(数组)
看起来是一个多余的变量:它只是存储了我们在这个字段中定义的所有全局变量:变量名是链表的下标(键名),变量值是对应的值。例如
那么输出结果就是
array(7) {
["GLOBALS"]=>
*RECURSION*
["_POST"]=>
array(0) {
}
["_GET"]=>
array(0) {
}
["_COOKIE"]=>
array(0) {
}
["_FILES"]=>
array(0) {
}
["va1"]=>
int(1)
["va2"]=>
string(4) "jehe"
}
持续的
含义:用于存储不会更改且预计不会更改的数据的标识符。
常量命名规则与变量相同,但习惯上使用“全小写”形式的常量名称。
定义方法使用define()函数定义使用方法:define("常量名称",常量值),常用名称建议全部小写
例如
define("PI",3.14);
echo PI;// 3.14
使用const句型定义用法:const常量名=常量值; 但const句型只能用在“顶层”代码域中(不能用在大括号中),即const句型不能用在函数或条件句或其他表示“范围”的句子中”
例如
const PI = 3.14;
if(PI > 10){
const PW = 5;// 错误,只能定义在最顶部
}
使用常量直接使用constant()函数使用名称:constant(“常量名称”)
例如
常量变量之间的差异决定了常量是否存在
判断的结果是一个布尔值。
常用方式:if (define (常量名)== false){ .....这里可以定义常量;}
事实上,可以这样做:
$结果=已定义(常量名称); //结果为真或为假
使用未定义常量(特殊情况)
使用未定义的常量会报告错误(注意错误)——与使用未定义的变量相同——当然不建议这样做。 但是:php,这时候你会得到一个意想不到的结果:看来这个常量是存在的,而且这个常量的值就是名称。
粘贴_图像.png
预定义常数
在php语言中,大量的常量是预先确定的,可以直接使用。 其中一些常量只有在打开各个模块后才可用(例如mysql模块)
魔法常数
魔法常数似乎是一个其值根据某些条件(环境)而变化的常数。 它在形式和用途上是不变的,但实际上,它的价值是变化的。
例如:
<?php
echo __DIR__;
echo "
";
echo __FILE__;
echo "
";
echo __LINE__;
?>
输出结果为
D:PHPdemo2
D:PHPdemo2get_1.php
6
发表评论