array auf doppelte einträge prüfen
madgerm
- php
0 Tom0 Texter mit x0 dedlfix
Hallo,
wie kann ich es prüfen ob in einem Array 2 einträge den gleichen wert haben ?
Also ich habe zb ein Array ->
$blumen = array(12, 38, 12, 5);
Jetzt möchte Ich überprüfen ob der Wert 12 schon einmal in dem Array exestiert.
Kann mir dafür einer eine Lösung liefern ?
Danke
Gruss Armin
Hello,
wie kann ich es prüfen ob in einem Array 2 einträge den gleichen wert haben ?
Also ich habe zb ein Array ->
$blumen = array(12, 38, 12, 5);Jetzt möchte Ich überprüfen ob der Wert 12 schon einmal in dem Array exestiert.
Indem Du einfach nachschaust:
$_keys = array_keys($blumen, 12)
http://de2.php.net/manual/de/function.array-keys.php
Ein harzliches Glückauf
Tom vom Berg
in_array Prüft, ob ein Wert in einem Array existiert
Tom meint sicher array_values denn die keys gehen von Null bis count($array) - 1.
Jenachdem was Du vorhast, nützt Dir vielleicht array-unique.
echo $begrüßung;
in_array Prüft, ob ein Wert in einem Array existiert
Ist für die Aufgabenstellung eingeeignet, da diese Funktion auch bei einmaligem Vorhandensein anschlägt.
Tom meint sicher array_values denn die keys gehen von Null bis count($array) - 1.
Nein, meint er nicht, denn du hast sicher übersehen, dass er den zweiten Parameter verwendet hat. Damit kann man aber nur gezielt nach der Dopplung eines bestimmten Wertes suchen. Außerdem sind Keys unter PHP nicht unbedingt fortlaufend, lückenlos und Zahlen. (Es sei denn, du beziehst deine Aussage auf das Beispiel des OP.)
Jenachdem was Du vorhast, nützt Dir vielleicht array-unique.
Oder array_count_values(). Damit bekommt man alle Werte und die Anzahl ihrer Einträge. Zu allem was dann größer als 1 ist kann man nun mit array_keys() die Schlüssel der jeweiligen Werte ermitteln.
echo "$verabschiedung $name";
in_array Prüft, ob ein Wert in einem Array existiert
Ist für die Aufgabenstellung eingeeignet, da diese Funktion auch bei einmaligem Vorhandensein anschlägt.
Es wäre nützlich, falls er das zu prüfende array erst noch zusammenbaut oder bei einer Prüfung innerhalb einer Schleife bei der er alle bereits vorhandenen Werte in einem weiteren array speichert.
Das von Dir genannte array_count_values erledigt das auch so ähnlich, nur daß die Prüfung auf doppelte Werte danach noch ausgeführt werden muß.
...(Es sei denn, du beziehst deine Aussage auf das Beispiel des OP.)
Bingo und selbst wenn nicht, eine fertige Lösung ist bei all dem was geschrieben wurde nicht dabei und die ermittlung der Keys, vermutlich das kleinste Problem, falls überhaupt nötig.
Zu allem was dann größer als 1 ist kann man nun mit array_keys() die Schlüssel der jeweiligen Werte ermitteln.
Falls ihn die Keys interessieren. Man kann das aber alles in einem Rutsch mit einer Schleife einem if-else und in_array erledigen.