php में एक foreach पाश मूल सरणी की एक प्रति अधिक पुनरावृति जाएगा, next()
और prev()
कार्यों बेकार बना रही है। आप एक साहचर्य सरणी है और अगले आइटम लाने के लिए की जरूरत है, तो आप सरणी चाबियाँ पर बजाय पुनरावृति सकता है:
foreach (array_keys($items) as $index => $key) {
// first, get current item
$item = $items[$key];
// now get next item in array
$next = $items[array_keys($items)[$index + 1]];
}
के बाद से चाबियों का परिणामी सरणी एक सतत सूचकांक में ही है, तो आप का उपयोग करने के बजाय का उपयोग कर सकते मूल सरणी
, जागरूक कि $next
पिछले यात्रा के लिए null
हो जाएगा बनें पिछले के बाद कोई अगले आइटम है के बाद से। गैर मौजूद सरणी कुंजियों तक पहुंचने से एक PHP नोटिस फेंक देगा। कि बचने के लिए, या तो:
- बताए मूल्यों से पहले अंतिम यात्रा के लिए जाँच करने
$next
- चेक अगर
index + 1
साथ कुंजी array_key_exists()
विधि 2 पूरा foreach का उपयोग करते हुए ऐसा दिखाई दे सकता के साथ मौजूद है :
foreach (array_keys($items) as $index => $key) {
// first, get current item
$item = $items[$key];
// now get next item in array
$next = null;
if (array_key_exists($index + 1, array_keys($items))) {
$next = $items[array_keys($items)[$index + 1]];
}
}
क्या यह तत्व # 2 से शुरू करने के लिए स्वीकार्य होगा और इसे वापस तत्व # 1 से तुलना करने के लिए स्वीकार्य होगा? –
नहीं इसे 1 – chchrist