php如何拼接变量名,php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符...
php動態拼接變量名,可變變量,動態變量,使用花括號,使用兩個$符
方式一:使用花括號,前綴部分不需要用單引號
$nums10 = 100;
$xxx*${bcount.$nums10}['m54']/$nums10
方式二:使用兩個$符,先給key賦值最終的變量名稱,后面才當成真正的變量使用。
$nkey = 'bcount'.$nums10;
$xxx*$$nkey['m54']/$nums10
=================
PHP可以動態地創建一個變量名。如:使用與數據庫查詢得到的字段名稱一致的變量名。
使用PHP中“可變變量”的語法:在一個其值為你想作為變量名稱的變量前面加一個$:
$animal = 'turtles';
$turtles = 103;
print $$animal;
在PHP中如果在一個變量名稱前面放兩個美元($)符號,PHP就會廢棄右面的變量,而取其值,然后,將該值作為“真正”的變量名稱。例如:
$animal = 'turtles';
$turtles = 1024;
print $$animal;
這段代碼會輸出1024。因為$animal = ’turtles',$$animal 就是$turtles,而$turtles等于1024。
如果使用大括號,還能夠構造出用于表示變量名的更復雜的表達式:
$stooges = array('Moe','Larry','Curly');
$stooge_moe = 'Moses Horwitz';
$stooge_larry = 'Louis Feinberg';
$stooge_curly = 'Jerome Horwitz';
foreach ($stooges as $s) {
print "$s's real name was ${'stooge_'.strtolower($s)}.\n";
}
Moe's real name was Moses Horwitz.
Larry's real name was Louis Feinberg.
Curly's real name was Jerome Horwitz.
PHP會求得位于大括號之間的表達式的值,并將這個值作為一個變量名。大括號中的表達式甚至還可以調用函數,比如上面代碼中的strtolower()。
在迭代類似的變量名稱時,可變變量也很有用。假如你想要查詢一個數據庫表,其字段名分別是title_1, title_2等。如果你想要檢查一個標題($title)是否與其中一個字段的值匹配,那么最簡單的方式就是像下面這樣進行循環遍歷:
for ($i = 1; $i <= $n; $i++) {
$t = "title_$i";
if ($title == $$t) { /* match */ }
}
當然,如果把這些值保存到一個數組中可能會更直觀,不過,要是你在維護一段使用了這種技術的老代碼(即不能修改),可變變量就很有用了。
大括號語法在理清有關數組元素的歧義時是必要的。可變變量$$donkeys[12]可能有兩種含義。第一種含義是“拿$donkeys數組中第12元素的值作為一個變量名”,要想明確表示這種含義,應該寫成:${$donkeys[12]}。第二種含義是“用標量$donkeys的值作為一個數組名稱,并找到該數組中的第12元素”,若想明確表示這種含義,應該寫成:${$donkeys}[12]。
HP中動態創建變量名語法并不局限于兩個美元符號,可以使用三個甚至更多個。然而,在實踐中很少出現有必要使用超過兩個間隔層次的情況。
c++中變量、變量名、變量地址、指針、引用等含義
首先了解內存,內存就是一排房間,編號從0開始,0,1,2,3,4,5...... 房間里面一定要住人,新人住進去了,原來的人就走了:不管你住不住,里面都有人. 編號就是地址.里面的人就是內容,為了我們 ...
js中定義用字符串拼接起來的變量名的變量
用對象的形式 你的問題可以通過js的對象實現 var ovar = {}; for(var i=0;i<10;i++){ ovar['var_'+i]=''; } 3用數組的形式 var arr ...
徹底解決Eclipse自動補全變量名及變量名后面追加類型名
徹底解決Eclipse自動補全變量名問題的方法步驟 發布于?2014-11-04 14:53???已被閱讀?31613159?次 大家使用eclipse或者MyEclipse敲代碼的時候,是不是都被這 ...
Eclipse中java文件選中變量名,相同變量都變色顯示 .
第一步設置高亮顯示的顏色: Window-->preferences-->General-->Editors-->Text Editors-->Annotations-- ...
php $$可變變量理解
//在變量前面加上兩個$$,如$$name,這表示可變變量,可以動態的設置和使用,先設置一個普通變量,一個可變變量會獲取了一個普通變量的值作為這個可變變量的變量名 $a = 'b'; $b = 'c' ...
less的學習(@變量名)
引自:https://www.cnblogs.com/starof/p/5226739.html Less 是一門 CSS 預處理語言,它擴充了 CSS 語言,增加了諸如變量.混合(mixin).函數 ...
PHP中可變變量到底有什么用?
轉自:http://blog.csdn.net/engine_1124/article/details/8660291 什么是可變變量? PHP提供了一種其他類型的變量——可變變量.可變變量允許我們動 ...
PHP內置常量,和可變變量,常量的定義
關鍵常量 可變變量----變量名是變量的變量 常量的定義
5)PHP,可變變量
所謂可變變量,就是一個變量的名,又是一個變量. 可變變量的語法是php的很特殊的語法——其他語言中少見. $v1 = “abc”; //這是一個字符串變量,其內容是字符串“abc” $abc = ; ...
隨機推薦
工作總結_JS_1
獲取點擊下的相對應的div: $('> div', this).show(); 本身同級下的相對應的div:?? $('>div[name=vv]', $(this).siblings(& ...
php序列化和反序列化
一 使用系統函數serialize和unserilazie <?php class A { public $a = "aa"; public $b = 10; functio ...
ASP.NET中的Session怎么正確使用
Session對象用于存儲從一個用戶開始訪問某個特定的aspx的頁面起,到用戶離開為止,特定的用戶會話所需要的信息.用戶在應用程序的頁面切換時,Session對象的變量不會被清除.?對于一個Web應用 ...
CDN技術
CDN 是構建在數據網絡上的一種分布式的內容分發網.?CDN?的作用是采用流媒體服務器集群技術,克服單機系統輸出帶寬及并發能力不足的缺點,可極大提升系統支持的并發流數目,減少或避免單點失效帶來的不良影 ...
ArcGIS Engine中的數據訪問
ArcGIS Engine中的數據訪問 數據是GIS的基礎, 訪問數據也是進行任何復雜的空間分析及空間可視化表達的前提.ArcGIS支持的數據格式比較豐富,對不同的數據格式支持的程度也有很大差異.本文 ...
【轉】android是32-bit系統還是64-bit系統
原文網址:http://www.cnblogs.com/pengwang/archive/2013/03/11/2954496.html 電腦CPU分32位和64位,這個我們都知道.用了這么長時間的a ...
使用Python腳本操作MongoDB的教程
Reference: ?http://www.jb51.net/article/64225.htm
自己對Web標準的理解
1.WEB標準 WEB分層: 1.結構層(HTML) ? 2.表現(css) 3.行為(js) web標準的優點: * 易于維護:只需更改css文件,就能改變整站的樣式: * 頁面響應快:HTML文檔 ...
JavaScript深度克隆(遞歸)
今天在深度理解JQuery源碼時,剖析extend時: jQuery.extend = jQuery.fn.extend = function() { //... } 感覺該方法的一部分功能與深度克隆 ...
四 分析easyswoole源碼(啟動服務&;Cache組件原理)
前文提到的在系統設置Cache組件 Cache::getInstance()的時候,會去調用processManager去創建Cache的進程,然后以管道通信的方式進行設置緩存和獲取緩存. Cache ...
總結
以上是生活随笔為你收集整理的php如何拼接变量名,php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存新风向:DDR5领跑,NVM崭露头角
- 下一篇: 内存双通道装机攻略:三步轻松搞定