跟隨我在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.pswp.cn/news/387740.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387740.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387740.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

分區索引常用命令

一般使用LOCAL索引較為方便&#xff0c;而且維護代價較低&#xff0c;并且LOCAL索引是在分區的基礎上去創建索引&#xff0c;類似于在一個子表內部去創建索引&#xff0c;這樣開銷主要是區分分區上&#xff0c;很規范的管理起來&#xff0c;在OLAP系統中應用很廣泛&#xff1b;…

面向對象簡述

1&#xff0c;封裝&#xff1a;將對象的屬性集成在 class person:def __init__(self,name,idnum):self.namenameself.idnumidnum 2&#xff0c;繼承&#xff1a;子類自動擁有父類的的封裝&#xff0c;除了非私有之外 class person: def __init__(self,name,idnum): self.namena…

== 和 is 的區別

1. 比較的是值 a2 b2 print(a b) # True lis1 [1,2,3] lis2 [1,2,3] print(lis1 lis2) # True 2.is 是比較的是內存地址 a name print(id(a)) # 內存地址 字符串 a name b name print(a is b) # True 數字 n 10 n110 print(n is n1) # True 小數據池 數字 -5~256 字…

oracle數據量大時候分區索引思路

有一個分區表&#xff0c;按list分區&#xff0c;只有一個本地唯一索引&#xff0c;沒有外鍵和觸發器 當單個分區數量在2000萬以內時&#xff0c;insert效率還可以&#xff0c;每秒2.3-2.5萬條 但數據量越大&#xff0c;速度越慢&#xff0c; 目前單個分區數量達到3億&#xff…

【轉】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…

關于 Oracle 分區索引的失效和重建

--創建測試表 SQL> create table t as select object_id,object_name from dba_objects;表已創建。SQL> select min(object_id),max(object_id) from t;MIN(OBJECT_ID) MAX(OBJECT_ID)-------------- --------------2 76083SQL> create table t_part(object…

【網絡安全/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

gitlab中的CI

https://blog.csdn.net/chengzi_comm/article/details/78778284 轉載于:https://www.cnblogs.com/effortsing/p/10142720.html

增加表空間大小的四種方法

增加表空間大小的四種方法Meathod1&#xff1a;給表空間增加數據文件ALTER TABLESPACE app_data ADD DATAFILED:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF SIZE 50M;Meathod2&#xff1a;新增數據文件&#xff0c;并且允許數據文件自動增長ALTER TABLESPACE app_data …

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…

WebLogic安裝Linux centos7

一、安裝前準備工作&#xff1a; 1、創建用戶useradd weblogic;創建用戶成功linux系統會自動創建一個和用戶名相同的分組&#xff0c;并將該用戶分到改組中。并會在/home路徑下創建一個和用戶名相同的路徑&#xff0c;比如我們創建的weblogic。 注&#xff1a;當然&#xff0…

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

非常簡單&#xff0c;子元素上添加如下代碼即可 1 $(a).click(function(e){ 2 e.stopPropagation(); 3 }); 老版本為event,現在用e就行 轉載于:https://www.cnblogs.com/chengbo2130/p/10152747.html

java spring cloud 版 b2b2c 社交電商-服務消費者(Feign)

社交電商平臺源碼請加企鵝求求&#xff1a;一零三八七七四六二六。Feign是一個聲明式的偽Http客戶端&#xff0c;它使得寫Http客戶端變得更簡單。使用Feign&#xff0c;只需要創建一個接口并注解。它具有可插拔的注解特性&#xff0c;可使用Feign 注解和JAX-RS注解。Feign支持可…

Mybaits自定義SQL

最近有個同事要包裝一個可以執行sql語句的功能用的是mybatis 最開始他想到的方案是拿到數據庫連接再執行sql語句。 后來出了某些錯誤來問我&#xff0c;為了尋求比較快的解決方法于是我就試試了下下面的方法。 首先在Mapper添加 <select id"select" resultMap&qu…