Weitere Array-Funktionen

Die HTML-Anweisungen der Beispiele wurden mit einem Leerzeichen ungültig gemacht, damit sie nicht ausgeführt werden. Für korrekte HTML-Anweisungen ersetze die Zeichenfolge '< ' durch '<'.

For-Each-struktur

< html>
< body>
< ?php
   $f = array(84, 25, -3, 6.447);

   /* 1 */
   foreach($f as $w) echo "$w, ";
   echo "< p>";

   /* 2 */
   foreach($f as $x => $w) echo "$x => $w, ";
   echo "< p>";

   $tp["Montag"] = 17.5;
   $tp["Dienstag"] = 19.2;
   $tp["Mittwoch"] = 21.8;
   $tp["Donnerstag"] = 21.6;
   $tp["Freitag"] = 17.5;
   $tp["Samstag"] = 20.2;
   $tp["Sonntag"] = 16.6;

   /* 3 */
   foreach($tp as $w) echo "$w, ";
   echo "< p>";

   /* 4 */
   foreach($tp as $x => $w)
   {
      echo "$x => $w, ";
   }
?>
< /body>
< /html>

Array-Funktionen

< html>
< body>
< ?php
   $tp["Montag"] = 17.5;
   $tp["Dienstag"] = 19.2;
   $tp["Mittwoch"] = 21.8;
   $tp["Donnerstag"] = 21.6;
   $tp["Freitag"] = 17.5;
   $tp["Samstag"] = 21.8;
   $tp["Sonntag"] = 16.6;

   echo "Das gesamte Array: ";
   foreach($tp as $x => $w) echo "$x => $w, ";
   echo "< p>";

   echo "Alle Keys in ein neues Array: ";
   $tpkeys = array_keys($tp);
   foreach($tpkeys as $w) echo "$w, ";
   echo "< p>";

   echo "Alle Keys mit bestimmtem Wert in neues Array: ";
   $tpspec = array_keys($tp,21.8);
   foreach($tpspec as $w) echo "$w, ";
   echo "< p>";

   echo "Alle Werte in ein neues Array: ";
   $tpvalues = array_values($tp);
   foreach($tpvalues as $w) echo "$w, ";
   echo "< p>";

   /* Suche */
   $such = 21.8;
   if(in_array($such,$tp))
      echo "Gesuchter Wert $such ist vorhanden< p>";
   else
      echo "Gesuchter Wert $such ist nicht vorhanden< p>";

   $such = 12.3;
   if(in_array($such,$tp))
      echo "Gesuchter Wert $such ist vorhanden< p>";
   else
      echo "Gesuchter Wert $such ist nicht vorhanden< p>";

   echo "Häufigkeit feststellen:< br>";
   echo "Das gesamte Array: ";
   $tpx = array(17,19,21,21,17,22,16,18,17,22,26);
   for($i=0; $i $w)
      echo "< br>$x kommt $w mal vor";
?>
< /body>
< /html>

Arrays anfügen

< html>
< body>
< ?php
   echo "

merge bei assoziativen Arrays< br>"; $tpa["Montag"] = 10; $tpa["Dienstag"] = 11; $tpa["Mittwoch"] = 12; $tpb["Montag"] = 13; $tpb["Freitag"] = 14; $tpb["Samstag"] = 15; $tpc["Samstag"] = 16; $tpc["Sonntag"] = 17; echo "Array tpa: "; foreach($tpa as $x => $w) echo "$x => $w, "; echo "< br>"; echo "Array tpb: "; foreach($tpb as $x => $w) echo "$x => $w, "; echo "< br>"; echo "Array tpc: "; foreach($tpc as $x => $w) echo "$x => $w, "; echo "< br>"; $tp = array_merge($tpa, $tpb, $tpc); echo "resultierendes Array tp:< br>"; foreach($tp as $x => $w) echo "$x => $w, "; echo "< p>merge bei numerischen Arrays< br>"; $fa = array(10, 11, 12); $fb = array(13, 14, 15); $fc = array(16, 17); echo "Array fa: "; foreach($fa as $x => $w) echo "$x => $w, "; echo "< br>"; echo "Array fb: "; foreach($fb as $x => $w) echo "$x => $w, "; echo "< br>"; echo "Array fc: "; foreach($fc as $x => $w) echo "$x => $w, "; echo "< br>"; $f = array_merge($fa, $fb, $fc); echo "resultierendes Array f:< br>"; foreach($f as $x => $w) echo "$x => $w, "; ?> < /body> < /html>

Arrays zerlegen

< html>
< body>
< ?php
   $f = array("a", "b", "c", "d", "e", "f", "g");
   echo("Vollständiges Array: ");
   foreach($f as $w) echo "$w, ";
   echo("< p>");

   $tf = array_slice($f,3);
   echo("Teil-Array ab Position 3: ");
   foreach($tf as $w) echo "$w, ";
   echo("< p>");

   $tf = array_slice($f,-3);
   echo("Teil-Array ab Position 3, vom Ende gerechnet: ");
   foreach($tf as $w) echo "$w, ";
   echo("< p>");

   $tf = array_slice($f,3,2);
   echo("Teil-Array ab Position 3, zwei Elemente: ");
   foreach($tf as $w) echo "$w, ";
   echo("< p>");
?>
< /body>
< /html>

Arrays einfügen

< html>
< body>
< ?php
   $f = array("a", "b", "c", "d", "e", "f", "g");
   echo("Vollständiges Array: ");
   foreach($f as $w) echo "$w, ";
   echo("< p>");
   $f_ori = $f;

   $z = array("p", "q", "r", "s");
   echo("Zusätzliches Array: ");
   foreach($z as $w) echo "$w, ";
   echo("< p>");

   $nf = array_splice($f,3,0,$z);
   echo("geändertes Array, zusätzliches Array wurde ab Position 3
eingefügt: ");
   foreach($f as $w) echo "$w, ";
   echo("< br>");
   echo("bei dieser Aktion entfernte Elemente: ");
   foreach($nf as $w) echo "$w, ";
   echo("< p>");

   $f = $f_ori;
   $nf = array_splice($f,3,2,$z);
   echo("geändertes Array, zusätzliches Array wurde ab Position 3
eingefügt, zwei Elemente wurden entfernt: ");
   foreach($f as $w) echo "$w, ";
   echo("< br>");
   echo("bei dieser Aktion entfernte Elemente: ");
   foreach($nf as $w) echo "$w, ";
   echo("< p>");

   $f = $f_ori;
   $nf = array_splice($f,3,count($f)-3,$z);
   echo("geändertes Array, zusätzliches Array wurde ab Position 3
eingefügt, Rest wurde entfernt: ");
   foreach($f as $w) echo "$w, ";
   echo("< br>");
   echo("bei dieser Aktion entfernte Elemente: ");
   foreach($nf as $w) echo "$w, ";
   echo("< p>");
?>
< /body>
< /html>

Ausgabe von mehrdimensionalen Arrays

< html>
< body>
< ?php
   echo "numerische Arrays:< br>";
   $f[2][3] = 42;
   echo "bisher war nur dies: " . $f[2][3] . " möglich
"; echo "jetzt geht dies: {$f[2][3]} auch< p>"; echo "assoziative oder gemischte Arrays:< br>"; $f[2]["antwort"] = 42; echo "bisher war nur dies: " . $f[2]["antwort"] . " möglich< br>"; echo "jetzt geht dies: {$f[2]["antwort"]} auch"; ?> < /body> < /html>

Neue Array-Funktionen

array_flip()         gibt ein Array in flip-Reihenfolge zurück
array_pop()         entfernt das letzte Element eines Arrays
array_push()         fügt an ein Array weitere Elemente am Ende an
array_reverse() gibt ein Array in umgekehrter Reihenfolge zurück
array_shift()         entfernt das erste Element eines Arrays
array_unshift() fügt an ein Array weitere Elemente am Anfang an
compact()         zum Erzeugen eines Arrays