2013-07-03 2 views
0

PHP код:получить обратную матрицу PHP из питона файла

<?php 
$arr=array(array('1','2','3','4'),array('21','12','23','54'),array('10','23','35','41'),array('14','62','93','40')); 
$result = shell_exec("C:/Python27/python 123.py ".json_encode($arr)); 
echo $result; 
?> 

питона код:

import sys, json 
arr=sys.argv[1] 
print arr 
A=np.matrix(arr) 
print A 
print ("<br/>") 
M=A.I 
print M 
result = {'Name':'abc'} 
print ("Sending data to PHP") 
print (json.dumps(result)) 

Выходной сигнал дается как обратный не приходит правильный плюс матрица выходит на быть размером 1x16 вместо 4x4, а размер массива arr правильный (4x4). Как его отладить и получить правильные матрицы A и M?

+0

Не кодер python, но мне кажется, что вы не декодируете строку json, которую вы передаете в качестве аргумента командной строки. 'arr' начнется как строка, которую вы затем передадите в матричные операции. –

ответ

1

Возможно, вы не декодируете JSON в скрипте Python, а json_encode($arr) должен быть json_decode($arr), если я не ошибаюсь.

+0

Нет, bcoz json_decode ожидает строку как параметр, а $ arr - массив – abcdxx

+0

Я думаю, что получил. Я использую json.loads (sys.argv [1]). – abcdxx