【发布时间】:2014-08-01 11:53:18
【问题描述】:
我有一个存储过程 (SQL Server),它返回以下 XML,这是给定月份搜索词的前 20 名排名。 使用以下 PHP,我可以获取此 XML 并循环遍历它:
foreach ($objSearchTerms->searchTerms as $terms){ echo $terms->searchTerm; };
提取工作并返回正确的数据。但是,我的问题是我需要从中创建一个数组,如下所示,以便在 JS 中使用。
谁能告诉我如何做到这一点?
数组的文本部分将是我的搜索词 ($terms->searchTerm),权重只是从 20 到 0 的反向计数。
我的 simpleXML:
<ranks>
<searchTerms>
<rank>1</rank>
<searchTerm>item 1</searchTerm>
<volume>11</volume>
</searchTerms>
<searchTerms>
<rank>2</rank>
<searchTerm>item 2</searchTerm>
<volume>8</volume>
</searchTerms>
<searchTerms>
<rank>3</rank>
<searchTerm>item 3</searchTerm>
<volume>5</volume>
</searchTerms>
// ...
</ranks>
预期结果:
var word_array = [
{text: "item 1", weight: 20},
{text: "item 2", weight: 19},
{text: "item 3", weight: 18},
// ...
];
我尝试了类似以下的方法,但这不起作用,可能不是正确的方法:
$count = 21;
foreach ($objSearchTerms->searchTerms as $terms){
$count--;
echo "{text: '" . $terms->searchTerm . "', weight: " . $count . "},";
}
【问题讨论】: