hawkmaster: Array Schlüssel ausschliessen

Hallo zusammen,
Ein Array hat 3 Schlüssel mit verschiedenen Werten.
Ein print_r($array) bringt folgendes:

Array ( [count] => 2 [0] => Students [1] => Users )
Ich möchte den Schlüssel "count" ausschliessen, also nur die Werte von Schlüssel 0 und 1.
Wenn ich es so versuche:

foreach($array as $key => $members){
 if($key != "count"){
 echo "der User ist Mitglied von $members <br>";
}
}
Wird mir immer nur der letzte Wert ausgegeben, also hier immer nur "Users".

Mit der Prüfung "if(is_numeric($key)){" klappt es jedoch.

Warum ist das so bzw. klappt die Prüfung "if($key != "count")" nicht?

vielen Dank und viele Grüße
hawk

  1. Hi,

    foreach($array as $key => $members){
    if($key != "count"){
    echo "der User ist Mitglied von $members <br>";
    }

    teste doch mal:
    if ($key === "count") continue;
    echo $key . " - " . $members;

    Möglicherweise hilft hier Prüfung auf Identität.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
  2. Tach.

    Array ( [count] => 2 [0] => Students [1] => Users )

    foreach($array as $key => $members){
    if($key != "count"){
    echo "der User ist Mitglied von $members <br>";
    }
    }
    Wird mir immer nur der letzte Wert ausgegeben, also hier immer nur "Users".

    Was erwartest Du auch beim Vergleich von Äpfel und Birnen? Um eine Zahl mit einer Zeichenkette vergleichen zu können, muß erstmal eine Typenumwandlung betrieben werden. Und "count" ergibt als Zahl eine 0, deshalb erscheinen bei Dir keine Students.

    Mit einem !== hingegen berücksichtigst Du beim Vergleich zusätzlich noch den Typ der Operanden.

    --
    Once is a mistake, twice is Jazz.
    1. echo $begrüßung;

      Mit einem !== hingegen berücksichtigst Du beim Vergleich zusätzlich noch den Typ der Operanden.

      Siehe dazu auch: PHP type comparison tables

      echo "$verabschiedung $name";

    2. Hallo Blaubart,
      danke für deine Hilfe.

      Was erwartest Du auch beim Vergleich von Äpfel und Birnen? Um eine Zahl mit einer Zeichenkette vergleichen zu können, muß erstmal eine Typenumwandlung betrieben werden. Und "count" ergibt als Zahl eine 0, deshalb erscheinen bei Dir keine Students.

      ja so betrachtet ist das natürlich klar. Mir war schon bewusst das ein numerischer Index vorkommt und Indexe mit dem String "count".
      Ich wollte ursprünglich irgend was machen mit "array_key_exists" oder einer anderen Array Funktion, also prüfen ob der Key "count" vorkommt.

      vielen Dank und viele Grüße
      hawk

  3. Hi!

    Ein Array hat 3 Schlüssel mit verschiedenen Werten.

    Ein var_dump($variable) ermöglicht oft tiefere Erkenntnis beim Entwickler.

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)