0
Ich versuche, den numerischen Vektor von R zu einem Array in PHP zu übergeben.R-Vektor an PHP-Array übergeben
index.php:
<?php
$n = 3;
$out = array();
exec("Rscript script.R $n", $out);
$length = count($out);
echo "length = ".$length."<br>";
for($i = 0; $i < $length; $i++)
echo "out[$i] = ".$out[$i]
?>
script.R:
#!/usr/bin/env Rscript
i <- as.numeric(commandArgs(TRUE))
print(i:10)
Output:
length = 1
out[0] = [1] 3 4 5 6 7 8 9 10
Wie man aus der obigen Ausgabe sehen kann, wird PHP einen R Vektor als ein einzelnes Element einer Speicherung Array. Wie speichere ich die einzelnen Elemente eines R-Vektors im PHP-Array?
Sie können 'tun $ out = explode (‘‘, $ out [0]);' nach der exec-Anweisung mache es zu einem tatsächlichen Array mit tatsächlichen Elementen an den richtigen Stellen. – Dimi
@Dimi Wie werde ich leere Werte loswerden? Der Ausgang, den ich nach "explode" erhalten habe, ist: out [0] = [1] out [1] = out [2] = 3out [3] = out [4] = 4out [5] = out [6] = 5out [7] = out [8] = 6out [9] = out [10] = 7out [11] = out [12] = 8out [13] = out [14] = 9out [15] = 10' Ich auch nicht Ich will diese Initiale "[1]" nicht haben. Aktueller Vektor beginnt mit '3' – rootkea
Sie können den Befehl array_filter verwenden, um leere Werte loszuwerden. Sie können einen eigenen Filter hinzufügen, der Werte entfernt, die Sie nicht mögen. Oder einfach 'unset ($ out [0]); nicht gesetzt ($ out [1]); nicht gesetzt ($ out [2]); ' – Dimi