2015-10-02 4 views
2

Как я могу проанализировать результат var_dump в PHP? Мой PHP код вызывает сценарий Python следующим образом:Parse PHP var_dump из скрипта Python

exec("python /home/content/51/5159651/html/perl/test_python.py $a0 $a1", $output); 
var_dump($output); 

где $a0 и $a1 целые числа. test_python.py умножает $a0 и $ правильно a1, но результат (for $a0=5 and $a1=7) из var_dump($output) является

array(1) { [0]=> string(2) "35" } 

Все, что я хочу, это ответ, 35. Да, я могу разобрать результат с помощью регулярных выражений, но должна быть более простым способом - например нечто иное, чем var_dump. Код для test_python.py приведен ниже, и я был бы рад изменить его, чтобы получить более простой способ извлечь результат.

#!/usr/bin/python 
import sys 
parameter1=int(sys.argv[1]); 
parameter2=int(sys.argv[2]); 

def main(parameter1, parameter2): 
    output = parameter1*parameter2 
    return output 

output=main(parameter1, parameter2); 
print(output); 
+0

вар свалка почти наверняка не правильный механизм использовать для этого –

ответ

2

Вам просто нужно кого-то номер телефона, и вы делаете всю проверку :)

var_dump($output); 

расскажет вам все об ответе $output, но вы просто хотите значение. Таким образом,

echo $output[0]; //$output is an array and you need its first element. 

Для этого необходимо, чтобы ваш var_dump.

exec("python /home/content/51/5159651/html/perl/test_python.py $a0 $a1", $output); 
echo $output[0]; // will say 35 for 5 and 7 

Немного дополнительного

Это объяснение var_dump выход

массив (1) {[0] => строка (2) "35"}

Это означает, что $output представляет собой массив с 1 элементом, который находится на индексе 0. Элемент type = Строка и его длина = 2 и его значение = 35

+0

Спасибо за ваш ответ! – Parmenides

Смежные вопросы