php是弱类型语言,变量类型和存入的值相关
变量
php中声明一个变量用 $符
$username='jack';
$password='123456';
//echo输出一个变量
echo $username;
echo $password;
php中变量的命名规范
变量以 $ 符号开头,其后是变量的名称
变量名称必须以字母或下划线开头
变量名称不能以数字开头
变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
变量名称对大小写敏感($y 与 $Y 是两个不同的变量),严格区分大小写
$user='jack';
$User='jack';
可变变量:把一个变量的变量值作为另一个变量的变量名
$uname='ja';
$$uname='www.baidu.com';
echo $uname;
我们使用localhost访问发现输出了rose;
预定义变量
$_GET :接受get数据
$_POST:接受post数据
$_REQUEST:既能接收get数据又可以接收post数据
$_GET
我们创建一个1.html,同时创建一个1.php,使用$_GET接收数据
1.html
<a href="1.php?webname=www.baidu.com&uname=百度网">点击提交</a>
1.php
<?php
echo $_GET['uname']."<br/>————————<br/>"
?>
这时我们使用localhost访问会发现我们可以接收到uname
1.png
并且我们可以发现使用$_GET传输数据,数据会在地址栏中显示
$_REQUEST
我们把上面的1.php的代码改为使用$_REQUEST,代码如下
<?php
echo $_REQUEST['uname']."<br/>————————<br/>"
?>
我们会发现同样可以接收到上面的数据
$_POST
我们创建一个3.html和3.php
3.html
<form action='3.php' method='post'>
<input type="text" name="uname"> <br>
<input type="submit" name="" value='表单提交'>
</form>
3.php
<?php
echo $_POST['uname'].'<br/>_________<br/>';
执行完我们会发现会返回我们在html中input中输出的值
2.png
我们发现使用$_POST传输数据地址栏中不会出现我们传输的值
传值与传址
传值
$uname1='zhangsan';
$uname2=$uname1;
$uname1='lisi';
echo $uname1;//lisi
echo $uname2;//zhangsan
我们发现uname1的值被改变了,为lisi,
而uname2的值没有被改变,还为zhangsan
传址
如果我们想让uname2的值跟着uname1的值改变,那么只需要做如下操作:
$username='jack';
$uname=&$username;
$username='rose';
echo $username;//rose
echo "<br>";
echo $uname;//rose
这时我们发现username和uname的值都变为了rose
检测一个变量是否存在
isset()
$user='jack';
if(isset($user)){
echo $user;
}else{
echo '您没有定义变量user';
}
常量:
始终保持不变的量就是常量
定义一个常量:
define('常量名','值');
注意:
1.常量名习惯大写
2.常量一旦定义就不可被改变
define('USER','jack');
echo USER;
重复定义一个常量:
define('USER','jack');
define('USER','rose');
echo USER;
我们发现重复定义一个常量后会给我们警告,并且常量值没有被改变
3.png
魔术常量
echo __LINE__;显示当前的行号
echo __FILE__;显示当前文件所在服务器端的位置
function fun2(){
echo __FUNCTION__;//返回当前函数的函数名
}
fun2();
echo __CLASS__;返回当前类的类名
检测常量是否存在的函数
defined();
define('URL','www.baidu.com');
if(defined('URL')){
echo URL;
}else{
echo '您没有定义常量URL';
}
网友评论