2014-10-19 55 views
-2

懇請您的幫助,使用函數來更改PHP變量名

我試圖用函數來更改PHP變量的名稱。我試圖將$ name更改爲$ graph1,$ graph2 ... $ graph31。下面是我做的代碼:

<?php 
function bar($name, $label, $value) { 
    return 
$name = new BAR_GRAPH("pBar"); 
$name->values = $value; 
$name->labels = $label; 
$name->labelColor = "white"; 
$name->labelBGColor = "#282828"; 
$name->barBorder = "0px"; 
$name->barColors = "white"; 
$name->barBGColor = "#282828"; 
$name->showValues = 0; 
$name->percValuesColor = "white"; 
$name->barColors = "white"; 
echo $name->create(); 
} 


bar("$graph1","ornamen","$totkakiOrnamen;7"); 

?> 

不幸的是,代碼不能正常工作,它說:

注意:未定義的變量:圖表在C:\ XAMPP \ htdocs中\程序\ process.php 在線56

我不知道什麼是錯的。如何將$ name更改爲$ graph1,$ graph2 ... $ graph31?

PS:返回代碼看起來很奇怪,因爲我使用gerd-tentler的腳本來生成水平條。 http://www.gerd-tentler.de/tools/phpgraphs/?page=introduction

+0

你怎麼有史以來變化意味着變量的名稱? – 2014-10-19 06:58:59

+0

這可能是也可能不是你在問什麼:http://php.net/manual/en/language.variables.variable.php – Rasclatt 2014-10-19 06:59:12

+0

嗨@joey我想改變$ name到$ graph1,$ graph2等 – 2014-10-19 07:01:09

回答

1

這可能是也可能不是你要求的,但也許.... ??

<?php 
    function bar($name, $label, $value) { 
      $$name     = new BAR_GRAPH("pBar"); 
      $$name->values   = $value; 
      $$name->labels   = $label; 
      $$name->labelColor  = "white"; 
      $$name->labelBGColor = "#282828"; 
      $$name->barBorder  = "0px"; 
      $$name->barColors  = "white"; 
      $$name->barBGColor  = "#282828"; 
      $$name->showValues  = 0; 
      $$name->percValuesColor = "white"; 
      $$name->barColors  = "white"; 
      $$name->create(); 
      return $$name; 
     } 

    $graph1 = bar('graph1',"ornamen","$totkakiOrnamen;7"); ?> 

如果沒有,唯一的猜測是,你正在嘗試做一個可變的變量:

http://php.net/manual/en/language.variables.variable.php

+0

喜的事,我解決它寫$$名代替$名稱,而不是「$ graph1」「graph1」,謝謝! – 2014-10-19 07:15:59

+0

那麼它是功能修訂還是可變鏈接或兩者?我想編輯我的答案,所以它不是混亂... – Rasclatt 2014-10-19 07:18:31

+0

兩種,$名稱應改爲$$名稱,最後一行應改爲 欄(「graph1」,「ornamen」,「$ totkakiOrnamen; 7" ); 注意到我在「graph1」之前刪除了「$」 – 2014-10-19 15:43:14