Grazie!
Ho aggiunto un elseif:
Codice PHP:
$cat_titles4show = '' ;
$cids = explode( "," , $event->categories ) ;
$counter = 0;
foreach( $cids as $cid ) {
$cid = intval( $cid ) ;
if (isset($this->categories[$cid])) {
if($cid == "0001") {
$cat_titles4show .= "<h1>".$this->text_sanitizer_for_show( $this->categories[ $cid ]->cat_title )."</h1>" ;
} elseif($cid == "0001") {
$cat_titles4show .= "<h2>".$this->text_sanitizer_for_show( $this->categories[ $cid ]->cat_title )."</h2>" ;
} else {
$cat_titles4show .= "".$this->text_sanitizer_for_show( $this->categories[ $cid ]->cat_title )."" ;
}
$counter++;
if ($counter == 3) {
$cat_titles4show .= "
";
$counter = 0;
} else {
$cat_titles4show .= " | ";
}
}
}
if( $cat_titles4show != '' ) $cat_titles4show = substr( $cat_titles4show , 0 , -1 ) ;
Comunque explode() non elimina la virgola, il primo parametro che gli passi (nel tuo caso la virgola) indica un delimitatore, il secondo una stringa. La funzione prende la stringa e mette gli elementi divisi dal delimitatore dentro un array.
Grazie per la delucidazione.
Un'altra cosa. La stringa è del tipo "0001,0003,0002,0008" (i valori numerici vanno da 0001 a 0015, possono trovarsi in ordine diverso e possono essercene uno, due, tre... quindici). Esiste una funzione per inserire gli elementi divisi dalla virgola dentro un array ordinandoli in un particolare modo? Ad esempio, vorrei che, qualunque fosse il contenuto della stringa,si seguisse questo ordine:
0004
0008
0003
0005
0001
...