Ниже Питон и PHP скрипты, которые я использовал, чтобы передать две матрицы для умножения в питона файл PHP:занимающихся Многомерные массивы с json_encode
$arr2=array(array(array(1,2),array(3,5)) ,array(array(4,6)array(2,7)))
echo json_encode($arr2);
$rtu= shell_exec("C:/Python27/python 1234.py ".json_encode($arr2));
echo $rtu."\n";
Python:
import numpy as np
from numpy.core.umath_tests import matrix_multiply
from numpy import matrix
print json.loads(sys.argv[1])
arr=json.loads(sys.argv[1])
arr1=arr[0]
arr2=arr[1]
print arr1
print arr2
A=np.asmatrix(arr1)
print A
B=np.asmatrix(arr2)
print B
Z1 = matrix_multiply(A,B)
print json.dumps(Z1)
Этот код дает правильный результат для json_encode ($ arr2), но остальное он дает все null. Может кто-нибудь отлаживает код?
$ arr2, кажется, создает очень сложный вложенный массив, либо существует типографская ошибка. Есть несколько частей, которые должны работать правильно. Я думаю, вы должны попытаться размножить две постоянные матрицы сначала в одном python. Как A = [[1, 0], [0,2]] и B = [[1,2], [3,4]]. Затем измените формат ввода python на JSON. Затем проверьте, что PHP создает те же матрицы, что и для отправки на python. – Paul
@Paul Я сделал, что они отлично работают – abcdxx