dedlfix: array enthält leere werte nach array_diff?!

Beitrag lesen

echo $begrüßung;

das ergebnis-array von array_diff() enthält leere indexes! (schriebt man das so?)

Schreiben täte man das Indices oder Indizes. Bei PHP spricht man aber im Allgmeinen von Keys und Values.

ausgabe von $array mit print_r:
Array
(
...
    [12] => 22
    [16] => 30
...
}
hier sind die werte rausgelöscht worden durch array_diff, aber die indexes auch.

Das ist das normale Verhalten.

wenn cih jetzt eine ausgabe mache, dann hab ich mit count() ein problem:

Nein, count() hat damit kein Problem.

$anzahl = count($array);
for ($i = 0; $i < $anzahl; $i++) {
   echo "$i: $array[$i]<br>";
}

for ist allerdings ungeeignet, wenn man nicht für lückenlose Durchnummerierung der Keys garantieren kann. Verwende

foreach ($array as $key => $value)

oder lass dir die Keys neu nummerieren, indem du mit array_values() nur die Werte aus dem Array nimmst und damit ein neues anlegst:

$array = array_values($array);

echo "$verabschiedung $name";