第三天

1.变量

1.1判断isset(变量名):

作用:判断该变量是否存在,或该变量是否有数据值。
若变量存在或有数据值,就是true,否则就是false。


1.png

1.2 删除unset(变量名):

含义:删除一个变量,并不是指将该变量从程序中删掉,而是,“断开”该变量名跟该变量原有的数据值之间的“引用关系”(联系),此时,会有这样的结果:

1.该变量名已经不指向(引用)任何数据了,则此时其isset()判断的结果就是false。
2.该数据(可能)没有任何变量指向它了,就成为“无法使用的数据”——通常就被自动回收了。


无标题.png
$v1 = 1;
unset($v1);
$s1 = isset($v1);       //false

1.3变量的传值方式

1.变量的传值方式,是指“一个变量,传给另一个变量”的内部细节形式——单对单。
2.变量的传值方式,只有两种:值传递,引用传递。

1.3.1值传递
$v1 = 1;
$v2 = $v1;  //这就是值传递

图示理解:
2.png

可见,值传递,就是变量v1的值进行了复制,然后在给另一个变量v2赋值。

注意:
1.这两个变量此时是值相等的。
2.这两个变量又是互相独立的——互不影响。

$v1 = 10;   
echo $v2 ;//输出1
1.3.2引用传递

php中,只有一种语法形式可以实现变量的引用传值方式:&符号。

$m1  =  1;
$m2  =  & $m1;      //引用传值方式
2.png

注意:
1,此时仍然有了2个变量,但只有一个数据值(数据空间),2个变量都共同指向该数据空间。
2,对其中任何一个变量的操作,其实都是在操作数据值(空间)。

$m1 = 10;   
echo $m2 ;//输出10

1.4可变变量

$s1 = "abc";        //这是一个变量,里面存储的是字符串”abc”
$abc  =  10;        //abc的值是10
echo   $$s1;        //输出10
  1. 在php中,一个”$”后面,总是跟着一个变量名!
  2. 这里,echo输出的这个变量(以第一个$为标识)的名字是:$s1, 即”abc”
  3. 所以,这里输出的是 $abc, 即 10
  4. 这种连续出现“$”的变量形式,就是所谓的“可变变量”;
$v1 = 1;
$v2 = 12;
$v3 = 33;
$v4 = 44;
$v5 = 115;
//求这5个变量的和;
//其他语言,只能“一个一个”加起来。
$sum = 0;   //用于存储总和
for($i = 1; $i <= 5; $i++){
    $v = "v" . $i;  //这里,结果其实只是一个“字符串”,比如"v1","v2"...
    $sum += $$v;
}
echo "sum = $sum<br />";

1.5预定义变量

所谓预定义变量,其实指,php这个语言工具中,预先就定义好的变量;
我们只是“拿来使用”。
主要有:$_GET, $_POST, $_REQUEST, $_SERVER,\ $GLOBALS。

特点:

  • 均是数组

  • 系统定义与维护——即我们不应该其给其赋值或销毁其值,只应该去“用其值”。

  • 具有超全局作用域——哪里都可以使用。

  • 不同情形下可能具有不同的值

1.5.1$_POST变量

1.含义:
它代表用户通过表单以post方式( method=”post” )提交的时候所提交的所有数据——这个称为post数据。
2.基本演示:

  • post.html:
<meta charset="utf-8">
<form action="post.php" method="post">
    数据1:<input type="text" name="data1">    
    </br>
    数据2:<input type="text" name="data2">
    </br>
    <input type="submit" value="提交">
</form>
  • post.php
<?php
$d1 = $_POST['data1'];
$d2 = $_POST['data2'];
echo ("$d1 $d2"); 

echo "<hr/ >";
print_r($_POST);
?>
2.png
2.png
1.5.2$_GET变量

1.含义:
它代表用户通过get方式( 有5种get形式 )提交的时候所提交的所有数据——这个称为get数据。
2.提交get数据有3种形式:

  • 形式1
<meta charset="utf-8">
<form action="post.php" method="post">
    数据1:<input type="text" name="data1">    
    </br>
    数据2:<input type="text" name="data2">
    </br>
    <input type="submit" value="提交">
</form>

这种形式的get数据,跟post数据类似,数据内容由用户填写或选择而得到。

  • 形式2
<a href="get.php?data1=5&data2=cctv&age=18">链接文字</a>
  • 形式3
<?php
//语法形式: header(“location: 目标网页地址”);
header("location: get.php?data1=5&data2=cctv&age=18");
?>

小结:
上述多种get形式提交数据,都可以理解为:
(1)跳转到某个页面,并“同时”携带(提交)一定的get数据过去。
(2)不管哪种形式的get数据提交,接收get数据,都只有一种形式,跟post类似。

输出:

<?php
$v1 = $_GET['data1']; //取得一个get数据项的值:比如$_GET[‘data1’],$_GET[“age”];
echo "$v1";
echo "<hr />";
print_r($_GET); //“输出”所有get数据
?>
2.png

2.png
1.5.3$_REQUEST变量

含义:
一句话,它是$_GET变量和$_POST变量数据的“合集”:它里面同时存储了这两种数据。

<meta charset="utf-8">
<!--以下action中的?号后面的数据都会以get方式提交-->
<form action="request.php?data1=5&data2=cctv&age=18" method="POST">
<!--以下表单项的数据都会以post方式提交-->
<input type="text"  name="n1" />
<input type="text"  name="n2" />
<input  type="submit"  value="提交" />
</form>
<?php
if(!empty($_POST)){
    echo "<p>post数据:<br />";
    print_r($_POST);
}
if(!empty($_GET)){
    echo "<p>get数据:<br />";
    print_r($_GET);
}
if(!empty($_REQUEST)){
    echo "<p>requset数据:<br />";
    print_r($_REQUEST);
}
?>
2.png
2.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,144评论 1 32
  • 文件操作函数 file_get_contents(文件路径) file_get_contents(./1.t...
    M_8b20阅读 337评论 0 0
  • 字典:当索引不好用时 字典是一种通过名字引用值的数据结构。这种结构类型称为映射。字典是Python中唯一內建的映射...
    mydre阅读 517评论 0 0
  • JS循环 for循环 格式:for( var i=0; i<5 ; i++){循环代码;} i=0,是初始化条件,...
    印象rcj阅读 603评论 0 0
  • 续昨日。 巴洛克时期的音乐。 意大利音乐及其发展。 更为重要的是文艺复兴时期人文主义的艺术理想,即用综合性...
    eeecd508e25f阅读 1,104评论 0 95