如何从python脚本向php传递数组?
我正在从我的php运行python脚本:如何从python脚本向php传递数组?,php,python,arrays,json,Php,Python,Arrays,Json,我正在从我的php运行python脚本: <?php $command = escapeshellcmd('<path>/myscript.py'); $output = shell_exec($command); echo $output; ?> 现在我需要将一个二维字符串数组从python脚本传递到php页面,但是我被卡住了。当然,$output将包含整个数组的单个字符串。我也考虑过json,但在这种情况下,我应该将python数组转换为json字符串(这可
<?php
$command = escapeshellcmd('<path>/myscript.py');
$output = shell_exec($command);
echo $output;
?>
现在我需要将一个二维字符串数组从python脚本传递到php页面,但是我被卡住了。当然,
$output
将包含整个数组的单个字符串。我也考虑过json,但在这种情况下,我应该将python数组转换为json字符串(这可能是另一个问题)…如果您的数组不是太奇特,您的json想法实际上应该可以正常工作。我构建了一个小python脚本(test.py
)来为php脚本(test.php
)提供支持:
test.py:
import json
print json.dumps([['a','b','c'], ['d','e','f']]);
test.php:
<?php
$command = escapeshellcmd('python test.py');
$output = shell_exec($command);
echo $output;
$arr = json_decode($output);
var_dump($arr);
?>
您将需要某种python可以生成且PHP可以理解的交换格式。在我看来,JSON似乎是一个很好的标准化选项。JSON_decode有一个参数可以为您提供一个关联数组,如下所示:JSON_decode($output,true)看看我(更新)的答案:它在python和PHP.btw中都有一个二维数组,对我来说,这与字母周围的单引号不同,可能需要双倍