如何从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?的主要内容,如果未能解决你的问题,请参考以下文章

如何将2D数组作为参数从C#传递给python

如何将多个图像作为输入传递给python脚本

将 Python 列表传递给 php

如何将数组从 C 传递到嵌入式 python 脚本

从 C++ 将字节数组传递给 lua 脚本方法

如何使用flask将javascript数组传递给python脚本[使用flask示例]