मेरे पास 34 लोगो की एक सरणी है। मैं उन्हें प्रदर्शित करना चाहता हूं लेकिन मैं एक स्लाइडर बनाना चाहता हूं और प्रत्येक स्लाइड पर 6 लोगो रखना चाहता हूं।

मुझे लूप बनाने में कठिनाइयाँ होती हैं। मेरा कोड PHP में है लेकिन यह तर्क है जो यहां मायने रखता है मुझे लगता है। यहाँ मैंने अब तक क्या किया है। मुझे बीच में लूप की याद आती है।

$number_of_slides = round($logo_array, 0, PHP_ROUND_HALF_UP);
    for($i ; $i <  $number_of_slides ; $i++):
       <div class="slide">
          ......
       </div>
    <?php endfor; ?>

किसी भी मदद के लिए धन्यवाद

0
Nina 11 मई 2017, 17:22

3 जवाब

यदि आपके पास पहले से ही आपकी सरणी है, तो इसे चंक्स में विभाजित करें:

$logo_array = [];
$chunks = array_chunk($logo_array, 6);  // 6 is a size of chunk
foreach ($chunks as $chunk) {
    // do dome stuff for each chunk, open some wrapper div or whatever

    foreach ($chunk as $logo) {
        // output current logo
    }

    // do dome stuff for each chunk, close some wrapper div or whatever
}
3
u_mulder 11 मई 2017, 17:26
foreach(ओं) के बीच echo '<div class="slide">'; और अंतिम } डालने से पहले echo '</div>';
 – 
Antonios Tsimourtos
11 मई 2017, 17:30
":" सिंटैक्स के साथ, गूंजने की कोई आवश्यकता नहीं है
 – 
Nina
11 मई 2017, 17:42
@ नीना: ... लेकिन आपको : के बाद भी ?> का उपयोग करना चाहिए। और वेरिएबल $i को आपकी स्क्रिप्ट में कभी भी इनिशियलाइज़ नहीं किया गया था।
 – 
cars10m
11 मई 2017, 17:49
आप मेरे उत्तर पर टिप्पणी क्यों कर रहे हैं?))))
 – 
u_mulder
11 मई 2017, 17:50
जादू की तरह काम करता है ! बहुत - बहुत धन्यवाद :)
 – 
Nina
11 मई 2017, 17:53

या, यदि आप इसे एक लूप में करना चाहते हैं, तो आप कुछ मॉड्यूलो तर्क का उपयोग कर सकते हैं:

$number_of_slides = 25;
$str='<div class="slide">';
for ($i=0 ; $i < $number_of_slides-1 ; $i++) {
 $str.= $logo_array[$i].($i%6==5?"</div>\n<div class=\"slide\">":' ');
} 
$str.=$logo_array[$i].'</div>';

echo $str;  // output the whole string

एक सरलीकृत डेमो यहां पाया जा सकता है: http://rextester.com/DVMPR99965

0
cars10m 11 मई 2017, 17:40

इसका कोई मतलब नहीं है ... आपका स्लाइडर जेएस में है मुझे लगता है? यदि ऐसा है, तो सभी लोगो अनिवार्य रूप से पृष्ठ में होंगे और यह आपका स्लाइडर है जो बाकी का ध्यान रखेगा।

कुछ स्लाइडर्स में इटेन्स को अलग करने के लिए एक विशिष्ट वर्बोज़ होता है, अन्य नहीं, केवल पेज में प्रदर्शित होने के लिए अधिकतम संख्या में इटेन्स सेट करने की आवश्यकता होती है।

मुझे क्या करना होगा? कुंआ:

 <div class="slide">
 <?php
 foreach($logo_array as logo){
     echo "<img src='{$logo[src]}'>"; //or other tag pattern of your slider
 }
 ?>
</div>
0
capcj 11 मई 2017, 17:55
हां, लेकिन प्रत्येक स्लाइड में 6 लोगो होते हैं, यह स्लाइड द्वारा लोगो नहीं है
 – 
Nina
11 मई 2017, 17:58
स्लाइड आपका कंटेनर होगा। आप अपने सभी लोगो को कंटेनर के अंदर रखें और जेएस को जादू करने दें। आपके जेएस स्लाइडर प्लगइन क्या हैं?
 – 
capcj
11 मई 2017, 18:09
ठीक है, मैंने देखा कि आपको पहले से ही अपना समाधान मिल गया है, यदि आप अन्य दृष्टिकोण चाहते हैं, तो मैं यहाँ हूँ
 – 
capcj
11 मई 2017, 18:11
मुझे लगता है कि मुझे पता है कि आप किस बारे में बात कर रहे हैं ... बात यह है कि यह स्लाइड में एक विशिष्ट लेआउट है। फिर भी धन्यवाद
 – 
Nina
11 मई 2017, 18:20