Я пытаюсь вызвать Java из PHP через eval и передать массив в качестве аргумента.Вызов Java из PHP с аргументами как массивы
PHP код:
$var1 = 'test';
$var2 = array("one","two","three");
exec("java HelloWorldApp " . $var1 . " " . $var2 . " 2>&1", $output);
print_r($output);
print_r($output[2]);
Java код:
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
System.out.println(args[0]);
System.out.println(args[1]);
}
}
Проблема заключается в том, что я не могу извлечь элементы массива от 2-го аргумента в Java: он принимает массив ввода в строку " Array ", а не как массив. Выход PHP составляет
Array ([0] => Hello World! [1] => test [2] => Array) Array
Как передать массив на Java и получить доступ к его элементам?
Благодаря
Лучший способ сделать это с помощью JSON. Вы можете читать и писать json практически на каждом языке. Используя это, вы можете преобразовать свои массивы в json, передать их, а затем снова преобразовать в массив. – AliBZ