2015-06-14 49 views
0

我試圖從嵌套在PHP多維數組中的數組訪問數據。我可以獲得第一個數組級別,第二個,但不是第三個。無法訪問多維數組的第4級陣列在PHP

這裏是一個單一的結果在我調用API輸出: http://54.86.204.230/process/pe_trxngetONE.php

我的代碼是拉動所有結果,並通過努力環獲得FullAddress屬性 - 下>地址。我想我可以做一些簡單的像$陣列[「財產」] [「地址」] [「FullAdress」],但不返回任何內容。

這裏是我的代碼:

$cSessionTrxn = curl_init(); curl_setopt($cSessionTrxn,CURLOPT_URL,$pe_getTrxn); curl_setopt($cSessionTrxn,CURLOPT_RETURNTRANSFER,true); curl_setopt($cSessionTrxn,CURLOPT_HEADER, false); $resultTrxn=curl_exec($cSessionTrxn); curl_close($cSessionTrxn); 
 
$itemlist = json_decode($resultTrxn,true); foreach ($resultarrayTrxn as $rowTrxn){ $resultIDTrxn=$rowTrxn['ID']; $mlsTrxn=$rowTrxn['MLS']; $transactionTypeTrxn=$rowTrxn['Type']; $participantsTrxn=$rowTrxn['Participants']; foreach($rowTrxn['Property'] 
 
as $property) { $fulladdresstrxn = $property['Address']['FullAddress']; } $displayresultTrxn=' 
 

 

 

 
<tr class="' . (++$count%2 ? " odd " : "even ") . '">'; $displayresultTrxn.=' 
 
    <td><a href="'.$baseurl.'/process/refreshSession.php?id='.$resultIDTrxn.'" class="selectclick" id="'.$resultIDTrxn.'">'.$resultIDTrxn.$fulladdresstrxn.'</a> 
 
    </td>'; $displayresultTrxn.=' 
 
    <td>'.$mlsTrxn.'</td>'; $displayresultTrxn.=' 
 
    <td>Submitted</td>'; $displayresultTrxn.=' 
 
    <td>'.$transactionTypeTrxn.'</td>'; $displayresultTrxn.=' 
 
    <td> 
 
    <div class="progress progress-striped active"> 
 
     <div class="progress-bar progress-bar-default" style="width: 0%">0%</div> 
 
    </div> 
 
    </td>'; //$displayresultTrxn.=' 
 
    <td>tot:'.$formcounter.',dn: '.$formitems.'</td>';/*test percentdone*/ $displayresultTrxn.=' 
 
    <td>0</td>'; $displayresultTrxn.=' 
 
</tr>'; echo $displayresultTrxn; }

而且我想這只是顯示了一切,但它停止2級後附和:

\t \t \t foreach ($resultarrayTrxn as $key => $value){ 
 
\t \t \t \t \t \t \t if(is_array($value)){ 
 
\t \t \t \t \t \t \t \t foreach($value as $subkey => $subvalue){ 
 
\t \t \t \t \t \t \t \t \t if(is_array($subvalue)){ 
 
\t \t \t \t \t \t \t \t \t \t foreach($subvalue as $subsubkey => $subsubvalue){ 
 
\t \t \t \t \t \t \t \t \t \t \t if(isset($subsubvalue)){ 
 
\t \t \t \t \t \t \t \t \t \t \t \t if(is_array($subsubvalue)){ 
 
\t \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t \t \t \t \t \t foreach($subsubvalue as $subsubsubkey => $subsubsubvalue){ \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t if(($subsubsubkey)){ 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t foreach($subsubsubvalue as $subsubsubsubkey => $subsubsubsubvalue){ 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t if(is_array($subsubsubsubvalue)){ 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t foreach($subsubsubsubvalue as $subsubsubsubsubkey => $subsubsubsubsubvalue) 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t {echo "6- ".$subsubsubsubsubkey.": ".$subsubsubsubsubvalue."<br />";} 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t } else { 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t echo "5- ".$subsubsubsubkey.": ".$subsubsubsubvalue."<br />";}} 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t } else 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t { 
 
\t \t \t \t \t \t \t \t \t \t \t \t echo "4- ".$subsubsubkey.": ".$subsubsubvalue."<br />"; 
 
\t \t \t \t \t \t \t \t \t \t \t \t echo "4- ".$subsubsubkey['FullAddress'].": ".$subsubsubvalue."<br />"; 
 
\t \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t \t \t \t \t \t } 
 
\t \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t \t \t \t \t \t \t } 
 
\t \t \t \t \t \t \t \t \t \t \t } 
 
\t \t \t \t \t \t \t \t \t \t \t } else { 
 
\t \t \t \t \t \t \t \t \t \t echo "3- ".$subsubkey.": ".$subsubvalue."<br />";}} 
 
\t \t \t \t \t \t \t \t \t \t } else { 
 
\t \t \t \t \t \t \t \t echo "2- ".$subkey.": ".$subvalue."<br />";}} 
 
\t \t \t \t \t \t \t \t \t } else { 
 
\t \t \t \t \t \t \t echo "1- ".$key.": ".$value."<br />"; 
 
\t \t \t \t \t \t \t } \t \t \t \t \t \t \t 
 
\t \t \t \t \t \t echo "<br>..............................................................<br>"; 
 
\t \t \t \t \t \t }

謝謝你的任何建議或方向!我非常感激。卡在這裏。 :(

回答

1

哦,你可以有儘可能多維度,只要你想

例如,下面的代碼顯示1:

$array[0][0][0][0] = 1; 
echo $array[0][0][0][0]; 

做你想要什麼,這將是更好的使用遞歸fonction:

function displayArray($array, $id) { 
echo $id.'-'; 
foreach ($array as $key => $value) { 
if(is_array($value)) { 
displayArray($value, $id+1); 
} else { 
echo $key .': '.$value; 
} 
echo '<br />'; 
} 
} 

然後:

displayArray($resultarrayTrxn,1); 

編輯:

對於剛剛測試,它是非常容易使用:

echo '<pre>'; 
print_r($my_array); 
echo '</pre>'; 

編輯:

爲您的代碼,你能告訴我們你是如何定義$ resultarrayTrxn? 你能「的print_r」這陣?

編輯:

我已更正我的代碼。

希望它有幫助

+0

嗯。謝謝,我確實嘗試過,並且它不工作。我不是在理解爲什麼我可以訪問$ resultarrayTrxn [ '財產'] [ '地址'],而不是$ resultarrayTrxn [ '財產'] [ '地址'] [ 'FullAddress']。 –