2015-11-23 55 views
0

現在我需要與使用一個畸形的功能來處理呼應命令的輸出,而不是回報發送到/ dev/null的PHP函數「回聲」輸出

當我嘗試調用函數它終端打印:

{"status":"OK","message":"Pong"} 

我需要這個JSON存儲到一個數組,但終端不能打印此輸出。我正在構建一個API,我需要有一個清晰的輸出。變量的最終值必須是:

Array 
(
    [status] => OK 
    [message] => Pong 
) 

而且不要在終端打印任何東西。我該如何發送函數生成的「echo」輸出到/ dev/null或類似的東西?

謝謝!

回答

0

如果你想獲得輸出變量,你應該使用ob_startob_get_contentsob_get_clean功能,例如:

<?php 
ob_start(); 
echo "Hello "; 
$out1 = ob_get_contents(); 
echo "World"; 
$out2 = ob_get_contents(); 
ob_end_clean(); 

var_dump($out1, $out2); 
/* 
string(6) "Hello " 
string(11) "Hello World" 
*/ 

<?php 
ob_start(); 
echo "Hello "; 
$out1 = ob_get_clean(); 

var_dump($out1); 
/* 
string(6) "Hello " 
*/ 

例如爲您的代碼:

<?php 
ob_start(); 
echo '{"status":"OK","message":"Pong"}'; 
$out1 = ob_get_clean(); 

var_dump(json_decode($out1, true)); 
/* 
array(2) { 
    ["status"]=> 
    string(2) "OK" 
    ["message"]=> 
    string(4) "Pong" 
} 
*/