2016-11-05 118 views
0

我有这个PHP创建作为$ jobs的作业数组。但是我想的钥匙是[参考],而不是0,1,2等如何将新密钥分配给PHP关联数组

$xml_feed = new DOMDocument(); 
$xml_feed->load('http://jobs.recruitsosimple.com/job/762/xml'); 
$jobs = array(); 
foreach ($xml_feed->getElementsByTagName('job') as $node) { 
    $item = array ( 
     'title' => $node->getElementsByTagName('title')->item(0)->nodeValue, 
     'ref' => $node->getElementsByTagName('referencenumber')->item(0)->nodeValue, 
     'link' => $node->getElementsByTagName('url')->item(0)->nodeValue, 
     ); 
    array_push($jobs, $item); 
} 

创建的阵列是:

Array 
(
    [0] => Array 
     (
      [title] => Theatre Nurse 
      [ref] => MT29 
      [link] => http://jobs.com/job/1192/29 
     ) 

    [1] => Array 
     (
      [title] => Ward Nurse 
      [ref] => MT39 
      [link] => http://jobs.com/1192/762/39 
     ) 

) 

但我想的钥匙是

Array 
(
    [MT29] => Array 
     (
      [title] => Theatre Nurse 
      [ref] => MT29 
      [link] => http://jobs.com/job/1192/29 
     ) 

    [MT39] => Array 
     (
      [title] => Ward Nurse 
      [ref] => MT39 
      [link] => http://jobs.com/1192/762/39 
     ) 

) 

我该怎么做?

+1

您只需建立enties这样的:'$工作[$参考] = $项目;'而不是arraypush – Jeff

回答

1

更改此:

array_push($jobs, $item); 

这样:

$jobs[$item['ref']] = $item; 
+2

一个真正很好的答案,你可以添加一个解释! – Jeff

+0

@Jeff好的,谢谢,我会牢记这一点。我没有真正使用过StackOverflow,所以很高兴知道。我只注意到你也回答了这个问题,但你把它当成了评论而不是回答。为什么? – pappfer

+0

,因为我没有时间做出真正的(好的)答案。将它作为评论写得更简单快捷。 – Jeff

相关问题