2014-01-12 36 views
0

我想通過一個XML文檔,其中包含帶有文本的節點以及帶有文件鏈接的屬性,然後按字母順序排序並顯示它們。這僅僅是一些代碼,我作出揣摩爲什麼它不設置鍵和變量:如何將XML值放入PHP中的數組中?

foreach($container as $value) 
{ 
    $title = $value->nodeValue; 
    $link = $value->getAttribute('links'); 

    $cashflowtoolarray[] = array($title => $link); 
} 
foreach($cashflowtoolarray as $title=>$link) 
{ 
echo "Key=" . $title . ", Value=" . $link; 
echo "<br>"; 
} 

什麼這個輸出是:

主要= 0,值=陣列

鍵= 1,值=陣列

鍵= 2,值=陣列

鍵= 3,值=陣列

我希望它輸出:

重點=有些標題1,值= somelink1.pdf

重點=有些標題2,值= somelink2.pdf

答案=一些標題4,值= somelink4.pdf

答案=某些標題3,值= somelink3.pdf

它似乎沒有設置值,我如何設置它們?我是新來的這個東西,所以我很困惑,在此先感謝您的幫助。

+0

在'$ link'上做一個'print_r()',看看給出了什麼。 – Mave

回答

0

(1)強制轉換爲字符串

$title = (string)$value->nodeValue; 
$link = (string)$value->getAttribute('links'); 

(2)設置關聯數組這樣

$cashflowtoolarray[$title] = $link; 

注意,關聯數組鍵是唯一的,如果$title = "foo"$cashflowtoolarray['foo']已經設置,它會覆蓋這個元素。

+0

非常感謝,現在這個工作。但是,我會如何分類呢?當我去排序它是這樣說的:「sort()期望參數1是數組,空給定」 我想按字母順序在數組中排序$標題。再次非常感謝你,我是新手。現在我正在使用:「sort($ cashflowtoolsarray,SORT_NATURAL | SORT_FLAG_CASE);」 – user3179363

+0

@ user3179363很高興能幫到你。 'ksort()'是你的朋友,查看它。請考慮接受我的答案,通過點擊我答案左側的打勾! – michi

+0

再次感謝您,我接受了您的回答。沒有意識到有一個ksort,謝謝你的幫助。 – user3179363