दिलचस्प पोस्ट
लिनक्स कर्नेल लाइव डीबगिंग, इसे कैसे किया जाता है और कौन से टूल उपयोग किए जाते हैं? सामग्री-प्रकार हैडर की परवाह किए बिना पायथन फ्लास्क में कच्चे POST बॉडी प्राप्त करें स्क्रीन पर एक पॉपअप विंडो केंद्र? WPF बनाम सिल्वरलाइट अपरिवर्तित अपवाद java.sql.SQLException; पकड़े जाने या घोषित करने के लिए फेंक दिया जाना चाहिए? हेक्स आरजीबी रंग कोड को यूआईकोलोर में कनवर्ट कैसे करें? मैं PHP के प्रयोग से प्रत्येक पंजीकृत उपयोगकर्ता को अपने यूआरएल को कैसे दे सकता हूं? एक सर्लेट में आने वाले मल्टीपार्ट / फॉर्म-डेटा पैरामीटर को पार्स करने का आसान तरीका पेपैल के माध्यम से कई आइटम (एक बार में) के लिए भुगतान करना सीएसएस मीडिया क्वेरी ओवरलैप के लिए नियम क्या हैं? जावास्क्रिप्ट फ़ंक्शन (क्लाइंट साइड) का निष्पादन रोकें या इसे ट्विक करें एक बाइट सरणी को जावा में पूर्णांक में परिवर्तित करें और इसके ठीक विपरीत लॉगिन सिस्टम के रूप में ओपन आईडी का उपयोग कैसे करें प्रदान की गई कुंजी का उपयोग करके openssl aes-256-cbc को डिक्रिप्ट करने के लिए जावा का उपयोग करना और iv एनपीएम पैकेज। जेएसएन फ़ाइल में निर्भरता, देवता और पीयर निर्भरता के बीच अंतर क्या है?

अग्रविकल्प लूप में दो सरणियां

मैं दो सरणियों का प्रयोग करके एक selectbox जेनरेट करना चाहता हूं, जिसमें देश के कोड और दूसरे देश के नाम शामिल हैं।

यह एक उदाहरण है:

 <?php $codes = array('tn','us','fr'); $names = array('Tunisia','United States','France'); foreach( $codes as $code and $names as $name ) { echo '<option value="' . $code . '">' . $name . '</option>'; } ?> 

यह विधि मेरे लिए काम नहीं करती थी कोई सुझाव?

वेब के समाधान से एकत्रित समाधान "अग्रविकल्प लूप में दो सरणियां"

 foreach( $codes as $code and $names as $name ) { } 

यह मान्य नहीं है।

शायद आप ऐसा कुछ चाहते हैं …

 foreach( $codes as $index => $code ) { echo '<option value="' . $code . '">' . $names[$index] . '</option>'; } 

वैकल्पिक रूप से, कोड को आपके $names की कुंजी बनाने में अधिक आसान होगा …

 $names = array( 'tn' => 'Tunisia', 'us' => 'United States', ... ); 

foreach एक समय में केवल एक सरणी पर चलती है।

जिस तरह से आपके सरणी को संरचित किया जाता है, आप उन्हें array_combine() उन्हें कुंजी-मान जोड़े की सरणी में array_combine() सकते हैं, फिर उस एकल सरणी को array_combine() करें:

 foreach (array_combine($codes, $names) as $code => $name) { echo '<option value="' . $code . '">' . $name . '</option>'; } 

या जैसा कि अन्य उत्तर में देखा गया है, आप इसके बजाय एक एसोसिएटिव सरणी को हार्डकोड कर सकते हैं।

सरणी को एक साथ फ्यूज करने के लिए array_combine() का उपयोग करें और नतीजे पर पुनरावृत्त करें।

 $countries = array_combine($codes, $names); 

एक साहचर्य सरणी का उपयोग करें:

 $code_names = array( 'tn' => 'Tunisia', 'us' => 'United States', 'fr' => 'France'); foreach($code_names as $code => $name) { //... } 

मेरा मानना ​​है कि एक एसोसिएटिव सरणी का उपयोग करना सबसे अधिक समझदार दृष्टिकोण है, जैसा कि array_combine() का उपयोग करने के लिए विरोध किया गया है, क्योंकि एक बार आप एक एसोसिएटिव सरणी का उपयोग कर सकते हैं, तो आप केवल उसी array array_values() या array_values()

क्यों न केवल एक बहु-आयामी साहचर्य सरणी में समेकित? ऐसा लगता है कि आप इस गलत बात के बारे में जा रहे हैं:

 $codes = array('tn','us','fr'); $names = array('Tunisia','United States','France'); 

हो जाता है:

 $dropdown = array('tn' => 'Tunisia', 'us' => 'United States', 'fr' => 'France'); 

पूरी तरह से परीक्षण किया

एक सरणी से एक गतिशील ड्रॉपडाउन बनाने के 3 तरीके

यह एक सरणी से एक ड्रॉपडाउन मेनू बनाएगा और स्वचालित रूप से अपने संबंधित मूल्य को आवंटित करेगा।

विधि # 1 (सामान्य सरणी)

 <?php $names = array('tn'=>'Tunisia','us'=>'United States','fr'=>'France'); echo '<select name="countries">'; foreach($names AS $let=>$word){ echo '<option value="'.$let.'">'.$word.'</option>'; } echo '</select>'; ?> 


विधि # 2 (सामान्य सरणी)

 <select name="countries"> <?php $countries = array('tn'=> "Tunisia", "us"=>'United States',"fr"=>'France'); foreach($countries as $select=>$country_name){ echo '<option value="' . $select . '">' . $country_name . '</option>'; } ?> </select> 


विधि # 3 (संबद्ध आरे)

 <?php $my_array = array( 'tn' => 'Tunisia', 'us' => 'United States', 'fr' => 'France' ); echo '<select name="countries">'; echo '<option value="none">Select...</option>'; foreach ($my_array as $k => $v) { echo '<option value="' . $k . '">' . $v . '</option>'; } echo '</select>'; ?> 

आप दो सरणियों को संयोजित करने के लिए array_merge का उपयोग कर सकते हैं और फिर उनपर पुनरावृत्त करें।

 $array1 = array("foo" => "bar"); $array2 = array("hello" => "world"); $both_arrays = array_merge((array)$array1, (array)$array2); print_r($both_arrays); 

इसे बाहर चलना…

 $codes = array('tn','us','fr'); $names = array('Tunisia','United States','France'); 
  • PHP 5.3+

     array_walk($codes, function ($code,$key) use ($names) { echo '<option value="' . $code . '">' . $names[$key] . '</option>'; }); 
  • PHP 5.3 से पहले

     array_walk($codes, function ($code,$key,$names){ echo '<option value="' . $code . '">' . $names[$key] . '</option>'; },$names); 
  • या गठबंधन करें

     array_walk(array_combine($codes,$names), function ($name,$code){ echo '<option value="' . $code . '">' . $name . '</option>'; }) 
  • चयन में

     array_walk(array_combine($codes,$names), function ($name,$code){ @$opts = '<option value="' . $code . '">' . $name . '</option>'; }) echo "<select>$opts</select>"; 

डेमो

 <?php $codes = array ('tn','us','fr'); $names = array ('Tunisia','United States','France'); echo '<table>'; foreach(array_keys($codes) as $i) { echo '<tr><td>'; echo ($i + 1); echo '</td><td>'; echo $codes[$i]; echo '</td><td>'; echo $names[$i]; echo '</td></tr>'; } echo '</table>'; ?> 

विदेशी लैप के बजाय, इसे आज़माएं (केवल जब आपके एरे की समान लंबाई होती है)।

 $number = COUNT($_POST["codes "]);//count how many arrays available if($number > 0) { for($i=0; $i<$number; $i++)//loop thru each arrays { $codes =$_POST['codes'][$i]; $names =$_POST['names'][$i]; //ur code in here } } 

मुझे लगता है कि आप ऐसा कुछ कर सकते हैं:

$ codes = array ('tn', 'us', 'fr');

$ names = array ('ट्यूनीशिया', 'संयुक्त राज्य अमेरिका', 'फ्रांस');

 foreach ($codes as $key => $code) { echo '<option value="' . $code . '">' . $names[$key] . '</option>'; } 

यह साहचर्य सरणियों के लिए भी काम करना चाहिए

foreach केवल एक सरणी के साथ काम करता है एकाधिक सरणियों के माध्यम से कदम रखने के लिए, प्रत्येक () फ़ंक्शन को थोड़ी देर लूप में उपयोग करना बेहतर होता है:

 while(($code = each($codes)) && ($name = each($names))) { echo '<option value="' . $code['value'] . '">' . $name['value'] . '</option>'; } 

प्रत्येक () वर्तमान कुंजी और सरणी के मूल्य के बारे में जानकारी देता है और आंतरिक पॉइंटर को एक से बढ़ाता है, या अगर वह सरणी के अंत तक पहुँच जाता है तो गलत देता है। यह कोड समान कुंजी वाले दो सरणियों या समान तत्वों के आधार पर निर्भर नहीं होगा। लूप समाप्त हो जाता है जब दो सरणियों में से एक समाप्त होता है।

$ the-> मेरे लिए काम करें:

 $codes = array('tn','us','fr'); $names = array('Tunisia','United States','France'); foreach( $codes as $key => $value ) { echo "Code is: " . $codes[$key] . " - " . "and Name: " . $names[$key] . "<br>"; 

}

शॉपिंग कार्ट में उत्पादों की मात्रा को अपडेट करने के प्रयास में एकाधिक फॉर्म इनपुटों से $_POST एकाधिक मूल्यों को मिलाकर करते हुए array_combine() मेरे लिए बहुत अच्छा काम करता है

 if(isset($_POST['doors'])=== true){ $doors = $_POST['doors']; }else{$doors = 0;} if(isset($_POST['windows'])=== true){ $windows = $_POST['windows']; }else{$windows = 0;} foreach($doors as $a => $b){ 

अब आप प्रत्येक एरे के लिए $ एक का उपयोग कर सकते हैं ….

 $doors[$a] $windows[$a] .... } 

मैंने इस तरह आपके द्वारा एक समस्या हल की:

 foreach(array_keys($idarr) as $i) { echo "Student ID: ".$idarr[$i]."<br />"; echo "Present: ".$presentarr[$i]."<br />"; echo "Reason: ".$reasonarr[$i]."<br />"; echo "Mark: ".$markarr[$i]."<br />"; } 

आपको सिंगल फॉरच लूप में डालने वाली 2 एरे के लिए यह कोशिश करनी चाहिए। मान लीजिए मेरे पास 2 एरे 1 है। $ Item_nm 2. $ item_qty

  `<?php $i=1; ?> <table><tr><td>Sr.No</td> <td>item_nm</td> <td>item_qty</td> </tr> @foreach (array_combine($item_nm, $item_qty) as $item_nm => $item_qty) <tr> <td> $i++ </td> <td> $item_nm </td> <td> $item_qty </td> </tr></table> @endforeach ` 

कुछ ऐसे arrays भी इस तरह से किया जा सकता है:

 foreach($array1 as $key=>$val){ // Loop though one array $val2 = $array2[$key]; // Get the values from the other arrays $val3 = $array3[$key]; $result[] = array( //Save result in third array 'id' => $val, 'quant' => $val2, 'name' => $val3, ); } 

मुझे लगता है कि सरल तरीका सिर्फ इस तरह से पाश के लिए उपयोग करना है:

 $codes = array('tn','us','fr'); $names = array('Tunisia','United States','France'); for($i = 0; $i < sizeof($codes); $i++){ echo '<option value="' . $codes[$i] . '">' . $names[$i] . '</option>'; } 

इससे मेरा काम बनता है

 $counter = 0; foreach($codes as $code) { $codes_array[$counter]=$code; $counter++; } $counter = 0; foreach($names as $name) { echo $codes_array[$counter]."and".$name; $counter++; }