2016-05-15 106 views
-2

例子(如我):PHP,如何獲得的參數作爲一個字符串

$this->method ('1', 2, array(1,2,3), $this); 

function method() 
{ 

method(),我想要得到的參數,就像我得到了他們。我可以用這個:

foreach (func_get_args() as $item) 

但這不是很好這次。我只是想得到這個字符串:

'1', 2, array(1,2,3), $this 

有什麼辦法嗎?

+3

你爲什麼不將它們作爲字符串?,像'$這個 - >方法('\'1 \',2,array(1,2,3),$ this');' –

+0

將它們作爲字符串傳遞或者自己構建字符串。 $ s =「」;並在for循環$ s。= $ item; –

+0

沒有辦法,因爲在執行時「串」不再存在。 PHP使用編譯器將腳本轉換爲字節碼。在該步驟中原始符號丟失。 – arkascha

回答

0

這是一個近似值。您可以打開代碼文件進行讀取並獲取包含代碼的行。 debug_backtrace()爲您提供所需信息的呼叫堆棧,例如代碼文件名,函數調用的行和名稱。

<?php 
function test() 
{ 
    $trc = debug_backtrace(); 
    var_dump($trc); //See here what information you can obtain. 
    //var_export($trc[0]['args']); 
    echo preg_replace('~^\[(.*)]$~', '$1', json_encode($trc[0]['args'])); 
} 

test('1',2, array(1,2,3), 'some string'); 
?>  

「1」,2,[1,2,3], 「一些字符串」

相關問題