Archiv verlassen und diese Seite im Standarddesign anzeigen : suche operator für "enthalten"
kirtas
27.09.2005, 15:57:09
Servus
Ich möchte eine abfrage machen, die mir sagt ob ein array (a) in einem anderen array (b) vorkommt?
Wie heisst der Operator dafür? (für gleich ist es ja == )
Gruss & Thx
R. Woitaschik
27.09.2005, 16:01:24
Hi kirtas,
Die Funktion array_intersect($array1, $array2) liefert dir alle Array-Einträge zurück, die sowohl in Array 1 wie auch 2 vorhanden sind.
Gruß
Richard
kirtas
27.09.2005, 16:15:38
Danke, nützt mir aber nicht soviel...oder wie kann ich damit eine if abfrage machen:
if ("$array2" enthältin "$array1") {
$_intFormat = "1"; }
else {
$_intFormat = "2"; }
R. Woitaschik
27.09.2005, 16:17:31
if(array_intersect($array1, $array2)) {
$_intFormat = "1";
} else {
$_intFormat = "2";
}
feuervogel
27.09.2005, 17:56:39
if(array_intersect($array1, $array2)) {
$_intFormat = "1";
} else {
$_intFormat = "2";
}
ich glaube nicht, dass das das ist, was gesucht wird.
benutze doch einfach folgende funktion:
function isArrayInAnother( $array1 , $array2 ) {
foreach( $array1 as $v ) {
if( !in_array( $v , $array2 ) )
return false;
}
return true;
}
print_r( isArrayInAnother( array( 1 , 2 , 3 ) , array( 2, 4, 1, 3, 5 ) ) ); //liefert true
print_r( isArrayInAnother( array( 1 , 2 , 6 ) , array( 2 , 4, 1 , 5, 3 ) ) ); //liefert false
ist zwar ungetestet aber müsste so hinhauen...
vBulletin® v3.8.3, Copyright ©2000-2024, Jelsoft Enterprises Ltd.