printf数组字符串以sparql查询php

我想查询SParqL但使用数组。如果可行,我想对所有数组进行迭代。

使用sprintf对sparql查询没有任何结果:

$arrayName = array("Brassica_oleracea_var_italica","Brassica_oleracea_var_botrytis");
    $bmni = $sparql->query(sprintf('SELECT DISTINCT ?bmni WHERE {
                ?bmni kb:namaIlmiah kp:%s}',$arrayName[0]));

我尝试使用vprintf,但这在EasyRdf上给我一个错误:

  

无   致命错误:未捕获的EasyRdf_Exception:SParqL查询的HTTP请求失败:   错误400:解析错误:105在第1行第1列遇到“ 105”。期望其中之一:“ \ ufeff” ...“ base” ...“ prefix” ...“ select” ... C中的“ json” ...“描述” ...“构造” ...“询问” ...

city0113 回答:printf数组字符串以sparql查询php

我不知道为什么,但是我认为EasyRdf无法返回数组,因此 我将数组转换为许多变量。而且有效,但是效率不高。

我乐于接受任何建议以提高效率。

谢谢..

// array to variable
$var_name = '';
for ($i = 0; $i < count($arrayName); $i++)
{
    $var_name = 'file' . $i;

    //looping every variable 
    $$var_name = $arrayName[$i];
    ${'file' . $i};
}

for ($i=0; $i < count($arrayName); $i++) { 
    $bmni = $sparql->query(sprintf('SELECT DISTINCT ?bmni WHERE {
                                        ?bmni kb:namaIlmiah kp:%s
                                    }',${'file' . $i}));
}
本文链接:https://www.f2er.com/3110410.html

大家都在问