हां, यह आदेश को संरक्षित करता है। आप ordered hash maps के रूप में php arrays के बारे में सोच सकते हैं।
आप "इंडेक्स निर्माण समय" द्वारा आदेशित तत्वों के बारे में सोच सकते हैं।
$a = array();
$a['x'] = 1;
$a['y'] = 1;
var_dump($a); // x, y
$a = array();
$a['x'] = 1;
$a['y'] = 1;
$a['x'] = 2;
var_dump($a); // still x, y even though we changed the value associated with the x index.
$a = array();
$a['x'] = 1;
$a['y'] = 1;
unset($a['x']);
$a['x'] = 1;
var_dump($a); // y, x now! we deleted the 'x' index, so its position was discarded, and then recreated
संक्षेप करने के उदाहरण
के लिए, आप एक प्रवेश जहां एक प्रमुख does not को वर्तमान में सरणी में मौजूद जोड़ रहे हैं, प्रवेश की स्थिति सूची के अंत हो जाएगा। यदि आप किसी मौजूदा कुंजी के लिए प्रविष्टि अपडेट कर रहे हैं, तो स्थिति अपरिवर्तित है।
foreach ऊपर दिखाए गए प्राकृतिक आदेश का उपयोग करके सरणी पर लूप। आप next() current() prev() reset() और दोस्तों को भी पसंद कर सकते हैं, यदि आप चाहें, हालांकि वे शायद ही कभी भाषा में पेश किए जाने के बाद से शायद ही कभी उपयोग किए जाते हैं।
भी, print_r() और var_dump() प्राकृतिक सरणी आदेश का उपयोग करके अपने परिणाम आउटपुट भी करते हैं।
यदि आप जावा से परिचित हैं, तो LinkedHashMap सबसे समान डेटा संरचना है।