執行個體講解php之可變變數

來源:互聯網
上載者:User
這篇文章主要介紹了php之可變變數的執行個體詳解的相關資料,希望通過本文大家能夠掌握php 可變變數的使用方法,需要的朋友可以參考下

php之可變變數的執行個體詳解

前言:

最近在技術部落格網站上偶然間瀏覽到一個新名詞:"php的可變變數";然後就在網上查了下瞭解下,覺得用的還挺方便的,下面都是從網上代碼copy到我本地環境運行後算是"拿來主義!"

php手冊上這樣說:

有時候使用可變變數名是很方便的。就是說,一個變數的變數名可以動態設定和使用。一個普通的變數通過聲明來設定,例如:


$a = 'hello';$$a = 'world';echo "$a ${$a}";echo "$a $hello";

它們都會輸出:hello world。

要將可變變數用於數組,必須解決一個模稜兩可的問題。這就是當寫下 $$a[1] 時,解析器需要知道是想要 $a[1] 作為一個變數呢,還是想要$$a 作為一個變數並取出該變數中索引為 [1] 的值。解決此問題的文法是,對第一種情況用 ${$a[1]},對第二種情況用 ${$a}[1]。

類的屬性也可以通過可變屬性名稱來訪問。可變屬性名稱將在該調用所處的範圍內被解析。例如,對於 $foo->$bar 運算式,則會在本地範圍來解析$bar 並且其值將被用於 $foo 的屬性名稱。對於 $bar 是數組單元時也是一樣。也可使用花括弧來給屬性名稱清晰定界。

看到這裡還是雲裡霧裡的,再看,在日常html的<form ...>POST過來很多變數需要處理的,一般的我們會這樣處理:


$id    = $_POST['id'];$name = $_POST['name'];$sex   = $_POST['sex'];echo "<p>Your order is as follows:</p>";echo "<br />\$id=".$id;echo "<br />\$name=".$name;echo "<br />\$sex=".$sex;

但是現在問題來了,如果POST過來很多變數我們豈不累死啦!那現在可變變數的用處來啦,我們這樣寫:


$array = array();foreach ($_POST as $key => $value) {  $array[$$key] = $value;}echo '<pre>'; // 換行print_r($array);// 是不是很方便的呢!!

再來一個例子:

有class A和class B以及class C,他們都有自己的函數還是前端傳值,這次是兩個一個class,一個function同樣的


$class=$_GET['class'];$func=$_GET['func'];$obj=new $class();$obj->$func();

這是做單入口模式的思路!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.