2010-02-07 59 views
2

我使用的是PHP函數將返回2 arrays.below是我的功能如何分離php中的返回值?

function imserv($id){ 

$xml=simplexml_load_file("feed.xml"); 

$images=$xml->xpath('//IMAGE'); 
$services=$xml->xpath('//SERVICES'); 

return array ($images,$services); 
} 

我用下面的代碼來從服務結果中屏蔽

$services=imgserv('5874'); 

foreach ($services as $servicerow) 
{ 
    var_dump($servicerow); 

} 

的問題是,當它嘗試只獲取服務的價值,它將兩者,服務和圖像一起返回。我需要在兩個不同的地方使用這兩個地方,所以我如何分開使用不同的地方?

下面是我的飼料,

<?xml version="1.0" ?> 
<FOUND> 
<NFO> 
<IMAGES> 
    <IMAGE> 
     <SMALL>images/small.jpg</SMALL> 
     <MED>images/med.jpg</MED> 
     <LARGE>images/large.jpg</LARGE> 
     <EXTRAL>images/extra.jpg</EXTRAL> 
    </IMAGE> 
    <IMAGE> 
     <SMALL>images1/small.jpg</SMALL> 
     <MED>images1/med.jpg </MED> 
     <LARGE>images1/large.jpg</LARGE> 
     <EXTRAL>images1/extra.jpg</EXTRAL> 
    </IMAGE> 
    <IMAGE> 
     <SMALL>images2/small.jpg</SMALL> 
     <MED>images2/med.jpg </MED> 
     <LARGE>images2/large.jpg</LARGE> 
     <EXTRAL>images2/extra.jpg</EXTRAL> 
     </IMAGE> 
    </IMAGES> 

<SERVICES> 
<GROUP><GROUPNAME>Officials</GROUPNAME><SERVICE> 
<TYPE>Handy</TYPE> 
<NB>0</NB> 
</SERVICE> 
<SERVICE> 
<TYPE>Bedroom</TYPE> 
<NB>0</NB> 
</SERVICE> 
<SERVICE> 
<TYPE>Meeting Rooms</TYPE> 

<NB>0</NB> 
</SERVICE> 
<SERVICE> 
<TYPE>Conferencing</TYPE> 
<NB>0</NB> 
</SERVICE> 
<SERVICE> 
<TYPE>Offices</TYPE> 
<NB>0</NB> 
</SERVICE> 
</GROUP> 
<GROUP><GROUPNAME>Reception</GROUPNAME><SERVICE> 

<TYPE>Support</TYPE> 
<NB>0</NB> 
</SERVICE> 
<SERVICE> 
<TYPE>Reception</TYPE> 
<NB>0</NB> 
</SERVICE> 
<SERVICE> 
<TYPE>Telephone</TYPE> 
<NB>0</NB> 
</SERVICE> 

</GROUP> 
<GROUP><GROUPNAME>Authent</GROUPNAME><SERVICE> 
<TYPE>Cams</TYPE> 
<NB>0</NB> 
</SERVICE> 
</GROUP> 
<GROUP><GROUPNAME>IT</GROUPNAME><SERVICE> 
<TYPE>Internet</TYPE> 
<NB>0</NB> 
</SERVICE> 
<SERVICE> 
<TYPE>Telephone System</TYPE> 

<NB>0</NB> 
</SERVICE> 
</GROUP> 
<GROUP><GROUPNAME>Amenities</GROUPNAME> 
<SERVICE> 
<TYPE>24/7</TYPE> 
<NB>0</NB> 
</SERVICE> 
<SERVICE> 
<TYPE>AC</TYPE> 
<NB>0</NB> 
</SERVICE> 

</GROUP> 
</SERVICES> 
</NFO> 
</FOUND> 

任何幫助將不勝感激。

感謝

回答

1

如果更改功能,這樣的事情會更容易:

function imserv($id){ 
$a = array(); 
$xml=simplexml_load_file("feed.xml"); 

$a['images']=$xml->xpath('//IMAGE'); 
$a['services']=$xml->xpath('//SERVICES'); 

return $a; 
} 

,那麼你將能寫的東西像這樣

$imservarr=imgserv('5874'); 
foreach ($imservarr['services'] as $servicerow) 
{ 
var_dump($servicerow);  
} 
foreach ($imservarr['images'] as $imagerow) 
{ 
var_dump($imagerow);  
} 
+0

謝謝..它工作正常:D – LiveEn 2010-02-07 19:00:47

5

這將這樣的伎倆:

list($images, $services) = imgserv('5874');