我從我的PHP代碼運行兩個Python腳本。要發送的值給腳本我做:從PHP發送/接收字符串到Python
$output1 = shell_exec('python /path/to/my/script1.py '.$name);
$output1 = explode(',', $output1);
,然後我做:
$output2 = shell_exec('python /path/to/my/script2.py '.$output1[0]);
$output2 = explode(',', $output2);
$output1
接收來自python腳本回歸正常,但script2.py
是我返回錯誤的值。直接在script2.py
上手動設置$output1[0]
的值給了我一個正確的值,所以問題不在腳本中。
我已經做了echo var_dump($output1);
,它給了我一個正確的$output1[0]
,所以這個問題既不是來自$output1
的價值。
任何線索?
編輯1:$output1[0]
的值是一個帶有空格的字符串(「綠色的一天」)。
Edit2:好像只是傳遞了「綠色」一詞。當我傳遞一個有空格的字符串時,只傳遞第一個字。這是沒有意義的,因爲我爆炸了','當我回應$output1
它顯示了包含空白的正確字符串。
您是否嘗試過引用您的參數? ''Green Day''(repr:''「Green Day」'') –
我沒有發送「原始字符串」,該字符串包含在$ var1中。我給出的解決方案很好。 –
如果有的時候,你想解析更復雜的參數(甚至有引號的參數),請閱讀[本文](http://blogs.msdn.com/b/twistylittlepassagesallalike/archive/2011/04/23/everyone-quotes -arguments-the-wrong-way.aspx?Redirected = true) –