跟随我在oracle学习php(21)

变量间的传值方式

总体说明:

1,这里讨论的传值方式是指:一个变量对另一个变量

2,它不仅仅适用于赋值语句,也适用于其他有同样含义的语句,比如:函数的实参到形参

3,传值方式只有2种:值传递,引用传递

4php中,所有变量,默认都是值传递。

5,要想使用引用传递,必须使用引用传递的符号: &

 

 值传递(相互独立)

是指将一个变量的数据值(数据内容)拷贝一份,然后赋值给另一个变量。

代码示例:

 

图示如下:

 

复制完之后,这两个变量就没有关系了(互相独立)!

 

结果为:

 

引用传值:(相关联)

是指将一个变量的引用关系拷贝一份,然后赋值给另一个变量,即另一个变量也同样由该关系决定了指向某个数据:

代码示例:

 

 

 

图示如下:

 

 

 

赋值(传值)完之后,两个变量指向同样一个数据。

我们有知道,对变量的操作就是对数据的操作。

则:

对变量v1的操作,改变的数据,也就是体现为v2也发生了改变。

测试:

 

 

结果为:

 

 

另外,在这种引用传值的情况下,unset一个变量,则另一个跟它有关(指向同样数据的关系)的变量,并不受影响。

测试:

 

 

 

结果:

 

 

 

可变变量 $$$def;

所谓可变变量,就是一个变量的名,又是一个变量。

可变变量的语法是php的很特殊的语法——其他语言中少见。

$v1 = “abc”; //这是一个字符串变量,其内容是字符串“abc”

$abc = 10; //这是一个普通变量,其内容是数字10

echo  $$v1; //此时,就是所谓可变变量

怎么理解:

1,凡是$符号出现,就会有可能理解为是一个变量

2,这里第一个“$”出现了,则php就视图将其解释为一个变量,变量名是$v1;

3,我们有知道,$v1的值是”abc”

4,那么,第一个“$”符号后面的变量名,就得到为“abc”

5,即:echo 试图输出的是变量$abc, 自然是数字10

实际上,理论上,可变变量的嵌套还可以更多,比如:$$$def;

预定义变量

综述:

1:预定义变量又叫超全局变量,包括:

$_GET, $_POST, $_SERVER, $_REQUEST, $GLOBALS,  $_COOKIE, $_SESSION, ..........(大约10个)

2:作用域问题

php中,自定义的变量的作用域,分两种:全局作用域(函数外),局部作用域(函数内)。

但:

预定义变量的作用域称为“超全局作用域”:全局作用域 + 局部作用域的总和(函数内外全都可用)

3:数据类型问题:

超全局变量都是数组!

$_GET变量(数组):

get这个词,常常出现在这里:<form  action=”abc.php”  method=”get” >.....</form>

这叫做“表单以get方式提交数据”

$_GET这个预定义数组变量,就是指以这种方式提交的所有数据的集合(数组)

对应来说,也可以以post方式提交数据

注意:get这个词,似乎没有中文翻译。

实际上,在网页中,以get方式提交数据有多种形式:

形式一:

<form  action=”abc.php”  method=”get” >

项目1<input type=”text”   name=”uName”   />

项目2<input type=”password”   name=”uPswd”   />

<input type=”submit”  value=”提交”  />

</form>

其作用是:用户填写表单数据,并提交后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php)

形式二:

<a  href=”abc.php?uName=test1&uPswd=123”  > 文字。。。</a>

其作用是:用户点击链接后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php),这种请求也是get请求

形式三:

<script>

location.href = “abc.php?uName=test1&uPswd=123”; //利用location对象的属性href

</script>

其作用是:当该行语句执行的时候(通常其实是在函数中),会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php),这种请求也是get请求

形式四:

<script>

location.assign( “abc.php?uName=test1&uPswd=123”); //利用location对象的方法assign()

</script>

其作用是:当该行语句执行的时候(通常其实是在函数中),会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php),这种请求也是get请求

 

不管哪种形式的get提交过来的数据,获取数据是一样的:

(在abc.php网页中)

<?php

$v1 = $_GET[‘uName’]; //单引号也可以用双引号,本质是一个字符串,其实是数组的键名(下标)

$v2 = $_GET[‘uPswd’]; //该键名必须跟提交的时候的名字完全一致(区分大小写)

?>

 

举例:

 

 

 

提交后:

 

 

转载于:https://www.cnblogs.com/RighTgraM/p/10811770.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/387740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】WPF自定义控件与样式(3)-TextBox RichTextBox PasswordBox样式、水印、Label标签、功能扩展...

一&#xff0e;前言.预览 申明&#xff1a;WPF自定义控件与样式是一个系列文章&#xff0c;前后是有些关联的&#xff0c;但大多是按照由简到繁的顺序逐步发布的等。 本文主要是对文本输入控件进行样式开发&#xff0c;及相关扩展功能开发&#xff0c;主要内容包括&#xff1a;…

JVM调优 dump文件怎么生成和分析

1、获取JVM的dump文件的两种方式   1. JVM启动时增加两个参数: #出现 OOME 时生成堆 dump: -XX:HeapDumpOnOutOfMemoryError #生成堆文件地址&#xff1a; -XX:HeapDumpPath/home/liuke/jvmlogs/ 2. 发现程序异常前通过执行指令&#xff0c;直接生成当前JVM的dmp文件&#x…

【网络安全/CTF】unseping 江苏工匠杯

该题考察序列化反序列化及Linux命令执行相关知识。 题目 <?php highlight_file(__FILE__);class ease{private $method;private $args;function __construct($method, $args) {$this->method $method;$this->args $args;}function __destruct(){if (in_array($thi…

yum配置中driver-class-name: com.mysql.jdbc.Driver报错

错误&#xff1a; 原因&#xff1a; 解决方法&#xff1a;把方框中的<scope>runtime</scope>删掉 转载于:https://www.cnblogs.com/zly123/p/10834958.html

Red Hat 8.0中设置光盘为软件源

为什么80%的码农都做不了架构师&#xff1f;>>> 以管理员身份登录 su 编辑设置软件源的repo文件 gedit /etc/yum.repos.d/redhat.repo 粘贴如下文本至空白处&#xff1a; [InstallMedia] nameRed Hat Enterprise Linux 8.0.0 mediaidNone metadata_expire-1 gpgche…

C++11并发编程:多线程std::thread

一&#xff1a;概述 C11引入了thread类&#xff0c;大大降低了多线程使用的复杂度&#xff0c;原先使用多线程只能用系统的API&#xff0c;无法解决跨平台问题&#xff0c;一套代码平台移植&#xff0c;对应多线程代码也必须要修改。现在在C11中只需使用语言层面的thread可以解…

图像特征提取——韦伯局部描述符(WLD)

一、原理及概述 韦伯局部描述符&#xff08;WLD&#xff09;是一种鲁棒性好、简单高效的局部特征描述符。WLD由两个部分组成&#xff1a;差分激励和梯度方向。 其具体算法是对于给定的一幅图像&#xff0c;通过对每个像素进行这两个分量的计算来提取其差分激励图像和梯度方向图…

Linux下Nagios的安装与配置

Linux下Nagios的安装与配置 一、Nagios简介 Nagios是一款开源的电脑系统和网络监视工具&#xff0c;能有效监控Windows、Linux和Unix的主机状态&#xff0c;交换机路由器等网络设置&#xff0c;打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员&am…

POJ_3262 Protecting the Flowers 【贪心】

一、题面 POJ3262 二、分析 这题要往贪心上面想应该还是很容易的&#xff0c;但问题是要证明为什么比值关系就能满足。 可以选择几个去分析&#xff0c;入1-6 与 2-15 和 1-6 与2-5 和 1-6 与 2- 12。 三、AC代码 1 #include <cstdio>2 #include <iostream>3 #in…

jquery如何阻止子元素继承父元素的事件(又称事件冒泡)

非常简单&#xff0c;子元素上添加如下代码即可 1 $(a).click(function(e){ 2 e.stopPropagation(); 3 }); 老版本为event,现在用e就行 转载于:https://www.cnblogs.com/chengbo2130/p/10152747.html

Beta 冲刺 (7/7)

团队信息 队名&#xff1a;爸爸饿了组长博客&#xff1a;here作业博客&#xff1a;here组员情况 组员1&#xff08;组长&#xff09;&#xff1a;王彬 过去两天完成了哪些任务 协助完成安卓端的整合完成安卓端的美化协助制作宣传视频 接下来的计划 & 还剩下哪些任务 I am d…

Java Web 学习与总结(一)Servlet基础

配置环境&#xff1a;https://www.cnblogs.com/qq965921539/p/9821374.html 简介&#xff1a; Servlet是Sun公司提供的一种实现动态网页的解决方案&#xff0c;在制定J2EE时引入它作为实现了基于Java语言的动态技术&#xff0c;目前流行的Web框架基本都基于Servlet技术&#xf…

堪称经典

程序员作为高智商、高收入、高压力群体&#xff0c;经常会有各种自嘲&#xff0c;而且还天生携带段子手基因。不信看看下面这些段子&#xff0c;一般人哪能懂&#xff01; 1、杀一个程序员不需要用枪&#xff0c;改三次需求就可以了 2、程序员退休后决定练习书法&#xff0c;于…

Judy Beta 第三天

概述 前端部分对于打包的流程以及相关 package.json 的配置都已经比较熟悉了&#xff0c;目前主要负责对新实现的 feature 做测试&#xff0c;以及参考 DAP 为后端明确数据交换的格式及参数内容等。 后端部分按照更新的 wiki 实现了变量展开&#xff0c;并且根据 DAP 的协议流程…

python学习中遇到的问题

2019独角兽企业重金招聘Python工程师标准>>> def contract_str():index 8db_size 8new_table_name b_str(index & (db_size-1))print new_table_name ImportError: No module named mysql.connector import mysql.connector as sql_connector Python保存时提…

Anti-Aliasing SSAA MSAA MLAA SRAA 简介

http://blog.csdn.net/codeboycjy/article/details/6312758 前两天在浏览游民星空的时候&#xff0c;小编居然在文章中挂了一篇技术文章&#xff0c;是关于SRAA的。对于AA的了解很少&#xff0c;正好入职之前还有几天的空闲时间&#xff0c;所以就这个机会把AA的一些基本算法简…

Qt的安装和使用中的常见问题(详细版)

对于太长不看的朋友&#xff0c;可参考Qt的安装和使用中的常见问题&#xff08;简略版&#xff09;。 目录 1、引入2、Qt简介3、Qt版本 3.1 查看安装的Qt版本3.2 查看当前项目使用的Qt版本3.3 查看当前项目使用的QtCreator版本3.4 Linux命令行下查看和使用不同版本的Qt4、Qt模块…

各行业大数据可视化界面参考

转载于:https://www.cnblogs.com/wangsongbai/p/10178096.html

今日听闻这几款手机软件比较火爆 果然名不虚传!

如今的时代&#xff0c;智能手机已经成为我们生活中不可缺少的一部分&#xff0c;大家之所以这么爱玩手机&#xff0c;其实并不是手机本身有多么吸引人&#xff0c;而是安装在手机上的各种各样的APP&#xff0c;比如各种社交软件、音频软件、购物软件以及地图软件等等。下面我们…

postman提取返回值

Postman是做接口测试的&#xff0c;但是很多接口并不是直接就能测&#xff0c;有的需要一些预处理。比如说身份认证&#xff0c;需要传递一个token。如果做网页测试&#xff0c;一般打开登陆界面的时候就会生成一个token&#xff0c;如果返回值是json格式&#xff0c;用Postman…