webForumDet fria alternativet

Var fjärde och sista "gruppen"

PHP

3 svar · 1 211 visningar · startad av Travoni

Medlem sedan okt. 20041 556 inlägg
Frågan#1

Jag har en grej som kollar om det är var fjärde post vilket funkar bra, trixet kommer med de sista raderna om det inte går jämt upp så att säga. Hur lägger jag till de sista på samma sätt?
Med andra ord, det funkar om det är åtta rader men är det tio så kommer inte 9 och 10 med...

$the_children = get_pages($args);
			$counter=0;
			$output = array();
			
			foreach ($the_children as $child) {
				$counter++;
				$output[]= '<div class="col-sm-3">';
				$output[]= '<h2>'.$child->post_title.'</h2>';
				$output[]= '</div>';
				if($counter % 4 === 0) {
					echo '<div class="row">'.implode('', $output).'</div>';
					unset($output);
				}
			}
Medlem sedan jan. 2005953 inlägg
#2

1. Istället för att köra unset($output) tycker jag du ska sätta $output till en tom array ($output = array();). Detta har ingenting med ditt problem att göra :) men din kod idag borde generera varningar med error_reporting satt till strict.

2. Efter din foreach-loop kollar du om $output innehåller något, om den gör det, skriv ut det på samma sätt som du gör inne i loopen när din if-sats uppfylls.

Detta borde fungera:

$the_children = get_pages($args); 
$counter=0; 
$output = array(); 
             
foreach ($the_children as $child) { 
    $counter++; 
    $output[]= '<div class="col-sm-3">'; 
    $output[]= '<h2>'.$child->post_title.'</h2>'; 
    $output[]= '</div>'; 
    if($counter % 4 === 0) { 
        echo '<div class="row">'.implode('', $output).'</div>'; 
        $output = array(); 
    } 
}

if (!empty($output)) {
    echo '<div class="row">'.implode('', $output).'</div>'; 
}
Medlem sedan aug. 20039 340 inlägg
#3

Lägg t ex till följande efter loopen:

                if(isset($output)) { 
                    echo '<div class="row">'.implode('', $output).'</div>'; 
                    unset($output); 
                }
Medlem sedan okt. 20041 556 inlägg
#4

Tack kära ni, de funkade fett bra!

253 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)