0

なぜphpの戻り値が機能しないのか理解できません。誰でも私を助けることができますか?

<?php
exec("xyz.py",$output,$return);
foreach($output as $item){
echo "$item"; 
}
echo $return;
?>

xyz.py のスクリプトは次のとおりです。

def func():
  print ('Hello')
  return 21
func()

xyz.py が返す値に関係なく、出力は常に Hello0 です。

前もって感謝します。

4

3 に答える 3

2

PHP docsによると、exec の 3 番目の引数 ($return例では) は次のように機能します。

出力引数とともに return_var 引数が存在する場合、実行されたコマンドの戻りステータスがこの変数に書き込まれます。

Python プログラムは正常に実行されたので、戻りステータスは 0 (エラーなし) になるはずです。

これはあなたが望むものかもしれません:

import sys
def func():
  print ('Hello')
  return 21
sys.exit(func())
于 2013-06-28T17:24:22.527 に答える
0

戻りパラメータは、プログラムが返すものではなく、exec() 関数のステータスを示します。

-1 = エラー

0 = 成功

于 2013-06-28T17:26:05.820 に答える