के अंदर किसी सरणी में मान जोड़ें, मैं foreach
लूप के अंदर, फ्लाई पर एक सरणी संपादित करने का प्रयास कर रहा हूं। मैं मूल रूप से प्रत्येक कुंजी का विश्लेषण करता हूं, और यदि यह कुंजी उस मैच से मेल खाती है, तो मैं इस के तुरंत बाद सरणी में एक और प्रविष्टि जोड़ना चाहता हूं।फ़ोरैच लूप
अगर मैं इस कोड को ले,
$values = array(
'foo' => 10,
'bar' => 20,
'baz' => 30
);
foreach($values as $key => $value){
print $value . ' ';
if($key == 'bar'){
$values['qux'] = 21;
}
}
2 समस्याओं मिल गया है,
- पहले, उत्पादन की उम्मीद
10 20 30 21
- दूसरे के बजाय
10 20 30
है, भले ही मैं का समाधान पहली समस्या, मेरा मान अभी भी को पर मेरे सरणी
मैं bar
और baz
के बीच प्रविष्टि कैसे जोड़ सकता हूं?
आपके विचारों के लिए धन्यवाद।
ऐसा शायद इसलिए है क्योंकि आप एक नई सरणी नहीं बना रहे हैं, लेकिन मूल्य को स्टोर करने के लिए पुरानी सरणी का उपयोग करें। यही कारण है कि यह आपके सरणी के अंत में है। ऐसा करने के लिए जो आप करना चाहते हैं वह एक नया चर बनाने के लिए है 'चलिए' $ 'डेटा' कहें और अपने 'foreach' लूप के साथ वहां मान डालें। – Refilon
आपको इसे प्राप्त करने के लिए दूसरी सरणी की आवश्यकता नहीं है। 'Foreach' के बजाय 'लूप' का उपयोग करें और सरणी की लंबाई के माध्यम से पुनरावृत्ति करें और लूप के इंडेक्स चर का उपयोग करके, जो भी आप अपनी सरणी में जोड़ना चाहते हैं उसे जोड़ें। – VSG24