[PHP] Array Problem

traffic

Well-known member
5 Mai 2006
675
25
Hallo,

ich habe ein Array welches $array[1,2,3,4,..19] beinhaltet.
Nun ist zum Beispiel $array[3] = "Hallo";
Und auch $array[18] = "Hallo";

wie kann ich Überprüfen, wenn 2 oder mehere dieses Array gleich sind?
Und wenn Sie es sind, soll er was ausgeben...


Komm da nicht weiter.
Geht das vielleich tmit foreach?
 
Mein Array wird so gesetzt:
$obermenu[$i7]=$row4['kategorie'];

$7 ist immer eine integer Zahl
und $row4[kategorie] immer ein String

und nun möchte ich überprüfen ob 2 davon gleich sind...und wenn ja dann so er ausgeben "ja"
 
Zwei gleich.. immer zwei gleich? (Pärchen?) Oder mindestens eines mehrfach auftauchend? Es gibt da auch noch count, die kannste mit den obigen Funktionen ggf. sinnvoll nutzen!
 
Brauchst Du das beim Einfügen oder für ein fertiges Array? Beim Einfügen sollte Dir in_array() weiterhelfen - für den anderen Fall könntest Du Dir mittels array_count_values() ein Hilfsarray bauen und dort für jeden Eintrag gucken, ob er mehr als 1 Mal drin steht.
PHP:
$count_array = array_count_values( $array );

// ...

$idx = $array[ $i ];
if ( $count_array[ $idx ] > 1 )
{
  echo 'ja';
}
 
@ happymaster array_unique() entfernt aber doppelte werte aus einem Array du meinst sicher array_diff() oder.

*edit sorry habs kapiert du checkst die counts und lässt dann "ja" ausgeben wenn was drin war, oO ich sollte schlafen.:yawn:

no ne möglichkeit wäre ja array_intersect() dann hätte man auch gleich die Werte die doppelt sind. Die kann man count() ´n und dann ja ausgeben. Ach was man alles zu so später Stunde entdeckt ^^.
 
nein, er prüft, ob, nachdem doppelte rausgekickt werden, die Anzahl immernoch übereinstimmt. Die Ausgabe der fehlenden Einträge geht dann halt so nicht