0
我试图将R中的数字向量传递给PHP中的数组。将R向量传递给PHP数组
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)
输出:
length = 1
out[0] = [1] 3 4 5 6 7 8 9 10
正如可以从上面的输出看,PHP是存储A R矢量作为一个单独的元件阵列。如何在PHP数组中存储R向量的各个元素?
你可以做'$ OUT =爆炸(””,$出来[0]);'你exec语句后,使它成为一个真实的数组,并在正确的位置添加实际元素。 – Dimi
@Dimi我如何摆脱空值? 'explode'后面的输出是: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' '不想要最初的'[1]'。实际向量从'3'开始, – rootkea
可以使用array_filter命令来清除空值。你可以添加你自己的过滤器,它会删除你不喜欢的值。或者只是'unset($ out [0]); unset($ out [1]); unset($ out [2]);' – Dimi