Limiteer For each output na filter (en niet daarvoor)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Zack Smulders

Zack Smulders

17/01/2015 11:26:37
Quote Anchor link
Goedemorgen,

Ik wil een top 10 van landen als output hebben.
Het is mij gelukt om een For Each loop na 10x af te breken. Echter, omdat de output ook nog eens filter (en een aantal landen uitsluit), is de output minder dan 10. In onderstaande voorbeeld is de output nooit 10 zodra er er wat bezoek is uit Amerika, Canada, China of Mexico. Toch wil ik deze uitsluiten en als output een top-10 hebben.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    <table class="table" >
        <thead>
            <tr>
                <th><?=l('Top 10 landen')?></th>
                <th><?=l('Bezoek')?></th>
            </tr>
        </thead>
        <tbody>
            <?php foreach(array_slice($countries, 0, 10) as $country => $cdata)
            if($country != 'United States' && $country != 'Canada' && $country != 'China' && $country != 'Mexico') {
            ?>

            <tr>
                <td><?=$country?></td>
                <td><?=$cdata['views']?></td>
            </tr>          
            <?php } ?>
        </tbody>
    </table>
 



Ik snap de logica dat het andersom moet, maar ik weet niet hoe ik dit moet programeren. Kan iemand mij helpen?

Alvast bedankt!
 
PHP hulp

PHP hulp

06/11/2024 04:16:06
 
Pipo Clown

Pipo Clown

17/01/2015 11:58:46
Quote Anchor link
Probeer het zo eens :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
     <table class="table" >
        <thead>
            <tr>
                <th><?=l('Top 10 landen')?></th>
                <th><?=l('Bezoek')?></th>
            </tr>
        </thead>
        <tbody>
            <?php
            $teller
= 0;
            foreach($countries as $country => $cdata)
            if($country != 'United States' && $country != 'Canada' && $country != 'China' && $country != 'Mexico' && $teller <= 10) {
            $teller++;
            ?>

            <tr>
                <td><?=$country?></td>
                <td><?=$cdata['views']?></td>
            </tr>          
            <?php } ?>
        </tbody>
    </table>
Gewijzigd op 17/01/2015 12:00:17 door Pipo Clown
 
Zack Smulders

Zack Smulders

17/01/2015 12:04:39
Quote Anchor link
Dank je, Pipo. Ik moest alleen nog even de array_slice weghalen en bij $teller=1 beginnen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
            <?php
            $teller
= 1;
            foreach($countries as $country => $cdata)
            if($country != 'United States' && $country != 'Canada' && $country != 'China' && $country != 'Mexico' && $teller <= 10) {
            $teller++;
            ?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.