如何从python脚本将数组传递给php?
Posted
技术标签:
【中文标题】如何从python脚本将数组传递给php?【英文标题】:How to pass an array to php from python script? 【发布时间】:2018-02-23 21:12:28 【问题描述】:我正在从我的 php 运行一个 python 脚本:
<?php
$command = escapeshellcmd('<path>/myscript.py');
$output = shell_exec($command);
echo $output;
?>
现在我需要将一个二维字符串数组从 python 脚本传递到 php 页面,但我非常卡住。当然,$output
将包含整个数组的单个字符串。我也想过json,但在那种情况下我应该将python数组转换为json字符串(这可能是另一个问题)......
【问题讨论】:
您需要某种 python 可以产生并且 PHP 可以理解的交换格式。在我看来,JSON 似乎是一个不错的标准化选项。 【参考方案1】:如果您的数组不是太奇特,那么您的 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);
?>
【讨论】:
json_decode 有一个参数可以给你一个关联数组,像这样: json_decode($output, true) php.net/json_decode 看看我的(更新的)答案:它在 python 和 PHP 中都有一个二维数组。 顺便说一句,对我来说,这与字母周围的单引号无法正常工作,可能需要双引号以上是关于如何从python脚本将数组传递给php?的主要内容,如果未能解决你的问题,请参考以下文章