我有以下问题:
我不能在一个字符串中连接所有的关键字。它返回一个数组。我试了好几个小时,但还没成功。
代码如下:
( if条件在一个循环中)
$keyword="";
$entry=0;
if ($index=="keywordterm){
$kword=$arrObjData[$index]; // takes the value of keywordterm
$kwords[$entry]=$kword;
echo "keywords[$entry]: ".$kwords[$entry]."</br></br>";
$keywordd.=$kwords[$entry]." | ";
$entry++;
}
print_r($keywordd);
echo "Keywords: ".$keywordd."<br><br>";结果是:
keywords[1]: telecommunication computing
keywords[2]: multi-agent systems
keywords[3]: state estimation
keywords[4]: control engineering computing
keywords[5]: telecommunication control
keywords[6]: Matlab-Simulink platform
keywords[7]: networked multiagent systems
keywords[8]: information sharing
keywords[9]: multiple cooperative agents
keywords[10]: networked control system
Array ( )
Keywords: Array我想要这样的东西:
Keywords: telecommunication computing | multi-agent systems | state estimation.........XML代码如下:
<keywordset keywordtype="Inspec">
<keyword>
<keywordterm><![CDATA[computer aided manufacturing]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[semantic Web]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[factory automation]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[ontologies (artificial intelligence)]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[knowledge based systems]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[inference mechanisms]]></keywordterm>
</keyword>
</keywordset>
<keywordset keywordtype="InspecFree">
<keyword>
<keywordterm><![CDATA[reconfigurable manufacturing systems]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[semantic Web services]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[factory automation]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[ontologies]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[explicit semantics]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[logical reasoning]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[autonomous manufacturing orchestration]]></keywordterm>
</keyword>
<keyword>
<keywordterm><![CDATA[knowledge based systems]]></keywordterm>
</keyword>
</keywordset>提前感谢并为这个loooong代码道歉..
所有代码是这样的:
$keywordd="";
$entry=0;
$kwords=array();
$xmlUrl = "9424.xml"; // XML feed file/URL
$xmlStr = file_get_contents($xmlUrl);
$xmlObj = simplexml_load_string($xmlStr);
$arrXml = objectsIntoArray($xmlObj, $entry, $keywordd);
function objectsIntoArray(&$arrObjData, &$entry, &$keywordd, $arrSkipIndices = array()) {
if (is_array($arrObjData)) {
echo "<pre>";
//print_r($arrObjData);
echo "</pre>";
foreach ($arrObjData as $index => $value) {
if ($index=="keywordterm"&&$index!="0"){
$kword=$arrObjData[$index];
echo "<b>KEYWORD: </b>".$kword."</br></br>";
$kwords[$entry]=$kword;
echo "keywords[$entry]: ".$kwords[$entry]."</br></br>";
$keywordd.=$kwords[$entry]." | ";
//echo $keywordd."<br><br>";
$entry++;
//echo "entry: ".$entry."<br>";
}
elseif ($index=="joursec"&&$index!="0"){
//print_r($keywordd);
echo "<b>Keywords: </b>".$keywordd."<br><br>";
}
}
}发布于 2012-07-17 02:14:32
正如我所见,既然$keywordd是一个字符串,你不能用print_r打印它吗?如果只使用"echo $keywordd“,会发生什么?
您应该使用implode()将数组转换为字符串吗?
示例:
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone发布于 2012-07-17 02:21:03
你试过使用implode吗?
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(" | ", $array);https://stackoverflow.com/questions/11509968
复制相似问题