2011-06-23 10 views
5

कैसे रिवर्स करें कृपया कोई मुझे कुछ PHP के साथ मदद कर सकता है।PHP: JSON सरणी

मूल कोड ~ काम करता है, लेकिन आउटपुट गलत क्रम में है। इसलिए मुझे JSON सरणी के अनुक्रम/क्रम को वापस करने की आवश्यकता है।

लेकिन जब मैं PHP (उद्धरण) नीचे दिए गए कोड के साथ अनुक्रम उल्टा करने के लिए प्रयास करें:

$json = file_get_contents($url,0,null,null); 
$tmp = json_decode($json, true); // using a temp variable for testing 
$result = array_reverse($tmp);  // <--new line to reverse the arrray 

foreach ($result['data'] as $event) { 
    echo '<div>'.$event['name'].'</div>'; 

यह उत्पादन अनुक्रम रिवर्स नहीं करता है।

मैं क्या गलत कर रहा हूं? क्या कोई और बेहतर तरीका है?

पीएस - मैं इसे जावास्क्रिप्ट में कर सकता हूं, लेकिन मुझे इसे सर्वर-साइड करने की आवश्यकता है।

उत्तर

6

आप उलटा करते हैं, लेकिन गलत क्षेत्र पर। आप सरणी के बजाय data क्षेत्रों उल्टा करने के लिए करना चाहते हैं: - धन्यवाद

$json = file_get_contents($url,0,null,null); 
$tmp = json_decode($json, true); // using a temp variable for testing 
$result = $tmp; 
$result['data'] = array_reverse($result['data']); 

foreach ($result['data'] as $event) { 
    echo '<div>'.$event['name'].'</div>'; 
+0

सभी पढ़ने में मैं कोई भी रूप में अच्छी तरह यह स्पष्ट रूप में आप शानदार था। @ हकर – user801347

4

आपको $tmp['data'] सरणी की सामग्री को पीछे हटाना होगा, $tmp स्वयं नहीं।

$json = file_get_contents($url); 
$tmp = json_decode($json, true); 
$result = array_reverse($tmp['data']); 

unset($tmp); 

foreach ($result as $event) { 
    echo '<div>'.$event['name'].'</div>'; 
} 
+0

अच्छा दृष्टि ..... – dynamic

संबंधित मुद्दे