तो मेरे पास एक कोड है जो प्रकृति में उत्तरदायी है कि माना जाता है चार (4) फ़ोटो साथ-साथ रखता है और फ़ोटो को यादृच्छिक क्रम में दिखाता है।

हालाँकि, क्योंकि मैं अभी शुरुआत कर रहा हूँ, मुझे नहीं पता कि एक कोड कैसे बनाया जाए जो यह सुनिश्चित करता है कि किसी भी समय केवल चार (4) फ़ोटो दिखाए गए हैं ???

तो नीचे दिए गए मेरे कोड के आधार पर मैं एक बार में केवल चार तस्वीरें कैसे दिखा सकता हूं। (भले ही मैं चाहता हूं कि कम से कम आठ (8) संभावित तस्वीरें हों जो इसे छांटती हैं।)

कोड का इस्तेमाल किया:

<br>
<br>
<h50><?php echo $this->translate('Be Discovered!'); ?></h50>
and connected. Meet anyone & see everything!</a></p>
<br>

<?php

$pics = [
    "/public/admin/haleyfoxforabout333.jpg",
    "/public/admin/haleyfoxforabout333.jpg",
    "/public/admin/team5aboutG333.jpg",
    "/public/admin/team6about333.jpg",
    "https://www.w3schools.com/w3images/team1.jpg",
    "https://www.w3schools.com/w3images/team2.jpg",
    "https://www.w3schools.com/w3images/team3.jpg",
    "/public/admin/team4_333.jpg"
];

shuffle($pics);
?>

<style>

    h50 {
        padding: 0 30px 8px;
        width: auto;
        font-size: 40px;
        margin: 0 0 10px 0;
        background-color: transparent;
        border: none;
        border-bottom: 1px solid #D2DBE8;
        border-radius: 3px 3px 0 0;
        display: inline-block;
    }

    .headerz {
        text-align: center;
        padding: 32px;
    }

    .rowz {
        display: -ms-flexbox; /* IE10 */
        display: flex;
        -ms-flex-wrap: wrap; /* IE10 */
        flex-wrap: wrap;
        padding: 0 4px;
    }

    /* Create four equal columns that sits next to each other */
    .columnz {
        -ms-flex: 25%; /* IE10 */
        flex: 25%;
        max-width: 25%;
        padding: 0 4px;
    }

    .columnz img {
        margin-top: 8px;
        vertical-align: middle;
    }

    /* RL - makes a two column-layout instead of four columns */
    @media screen and (max-width: 800px) {
        .columnz {
            -ms-flex: 50%;
            flex: 50%;
            max-width: 50%;
        }
    }

    /* RL Takes the two columns stack on top of each other. */
    @media screen and (max-width: 600px) {
        .columnz {
            -ms-flex: 100%;
            flex: 100%;
            max-width: 100%;
        }
    }

</style>

<!-- Photo Grid -->
<div class="rowz">
    <?php
    foreach ($pics as $pic) {
        echo '<div class="columnz">';
        echo '<img src="' . $pic . '" style="width:100%">';
        echo '</div>';
    }
    ?>
</div>
0
Anthony Sosa 5 अक्टूबर 2018, 22:11

1 उत्तर

सबसे बढ़िया उत्तर

array_rand का प्रयोग करें, यह आपके सरणी से आपकी यादृच्छिक कुंजी देगा। दूसरा तर्क परिभाषित करता है कि आपको कितनी कुंजियाँ चाहिए:

$keys = array_rand($pics, 4);
foreach ($keys as $key) {
    echo $pics[$key];
}

या आप सरणी को स्लाइस कर सकते हैं:

shuffle($pics);
$pics = array_slice($pics, 0, 4); // reduces your array to 4 elements

या आप एक काउंटर और break foreach का उपयोग कर सकते हैं:

$counter = 0;
foreach($pics as $pic){
    if ($counter == 4) {
        break;
    }

    echo $pic;
    $counter++;
}
1
u_mulder 5 अक्टूबर 2018, 19:16