2017-02-21 85 views
-1

我有一個使用foreach循環讀取文本文件的腳本,但字符串無法識別「$ _GET」或「[]」以顯示或回顯字符串。如果echo工作正常,那麼我可以將字符串輸出追加到另一個php文件中執行,但我無法使字符串正確回顯。請指教。 THX

<?php 

$filename = "./client.txt"; 
echo $filename ."\n"."<br>" ; 
$contents = file($filename); 
foreach ($contents as $line) { 
    $line = str_replace(PHP_EOL, '', $line); 
    $str = " $$line=$_GET["$line"]; " ; 
echo $str; 
} 

?> 

-------------------------------------- 
Text file: client.txt 
DEPLOYMENT_ID 
CLINICAL_APP 
ZOO_MAX 
SVN_REPO 

--------------------------------------- 
Echo output should be: 

$DEPLOYMENT_ID=$_GET["DEPLOYMENT_ID"]; 
$CLINICAL_APP=$_GET["CLINICAL_APP"]; 
$ZOO_MAX=$_GET["ZOO_MAX"]; 
$SVN_REPO=$_GET["SVN_REPO"]; 
+0

使用單引號代替雙 –

回答

0

可以使用sprintf

sprintf("$%s=\$_GET['%s']",$line,$line);

+0

仍然無法正常工作,我收到相同的錯誤,$ line仍然未定義。請指教。 thx – Ann

+0

實際錯誤「Undefined variable:str in phploop2.php on line 13」。請指教。 thx – Ann

+0

我修復了str變量,它似乎工作。 $ str = sprintf(「$%s = \ $ _ GET ['%s'];」,$ line,$ line。「\ n」); – Ann

2

如果你只是想呼應它,使用'單引號內GET

$str = " $$line=$_GET['" . $line . "'] " ; 
+0

我不知道爲什麼我得到這個錯誤「語法錯誤,意外的T_ENCAPSED_AND_WHITESPACE,期待T_STRING或T_VAR IABLE或T_NUM_STRING在第11行的phploop2.php中「。請指教。 Thx – Ann

+0

執行'$ line'顯示任何輸出而不是未定義或空值? –

+0

輸出顯示未定義。請指教。 thx – Ann