php中$表示乙個變數的宣告,$value='test';表示變數value的值是test。
而$$則好像是c語言中的指標,它指向乙個變數值的乙個變數。
例如:$$value='a';這句話的意思就是首先取$value變數的值,為test,然後再將其值變成乙個變數即表示為$test='a';
[php]view plain
copy
<?php
$value='test';
$test='a';
echo $$value;
?>
<?php
$value='test';
$$value='a';
echo $test;
?>
兩個**輸出的值都是a。
這裡舉個很經典的例子作為他的應用:
我們經常會遇到通過http get請求和post請求等提交很多引數,如下**:
[php]view plain
copy
<?php
$action=$_get[action];
$mid=$_get[mid];
$keywords=$_get[keywords];
if($action=='list')
if($mid=='1')
if($keywords=='search')
?>
我們想要從get請求中獲取變數action、mid、keywords的值,那麼就需要分別建立三個賦值函式,從get請求中獲取出來,這樣寫起來非常的麻煩,而且不適合日後的擴充套件操作,這是我們引用$$魔法變數便可輕鬆的解決此問題,**如下:
[php]view plain
copy
foreach ($_get as $_key=>$_value)
這裡就是首先吧$_get請求變數以陣列的形式賦值給$_key:$_value,比如我們提交url為?action=list,那麼$_key的值就是action,$_value的值便是list,緊接著我們就使用魔法變數$$_key即變成$action的值為$_value即list,這樣就將值list賦值給了變數$action,同樣不管我們提交什麼請求,他都能進行變數賦值操作,當然常規的寫法還有很多種,如下:
[php]view plain
copy
foreach ($_get as $_key=>$_value)
php 應用中的點滴
本文記錄的是在 php 程式過程中的一些點滴 適用版本 php 5.3.2 preg match is content 根據文件,正則修正符的使用說明 i 不區分大小寫 s 如果設定了此修正符,模式中的圓點元字元 匹配所有的字元,包括換行符。沒有此設定的話,則不包括換行符。這和 perl 的 s 修...
php 中引用的應用
在php 中引用的意思是 不同的名字訪問同乙個變數內容.1 變數之間的引用 a 10 b a 此時 b和 a所指向的是同一儲存位址 如果 a 11 則zend會開闢乙個新的單元從來是的 a 11 b 還是原來的位址 a 10 b a 此時 b 就是 a的別名,比如這個人叫小張,大名叫張三一樣,如果 ...
php中curl fsockopen的應用
最近要用到通過post上傳檔案,網上盛傳的有curl的post提交和fsockopen,其中curl最簡單,於是從最簡單的說起。這是簡單的將乙個變數post到另外乙個頁面 url data array a b ch curl init curl setopt ch,curlopt url,url c...