[PHP] in_array met array als needle en haystack

Pagina: 1
Acties:
  • 167 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08 21:02
Op basis van de documentatie over in_array verwacht ik een 1 (TRUE)
als teruggave. Toch is dit niet het geval, iemand een idee hoe dat kan?
Ik wil alleen maar weten of de twee arrays gemeenschappelijke waarden delen.

Getest op 3 verschillende servers, allemaal hebben ze PHP versions groter dan 4.2.0

PHP:
1
2
3
4
5
6
7
8
<?PHP
if( in_array(array(6,3),array(6,7,2,5)) )
{
    echo 'wel gemeenschappelijke 6';
} else {
    echo 'geen gemeenschappelijke 6';
}
?>


(de voorbeelden uit de manual werken overigens wel bij mij)

43% of all statistics are worthless


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Volgens mij controleert die functie of beide onderdelen van de needle voorkomen in de haystack. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
-NMe- schreef op maandag 18 april 2005 @ 23:04:
Volgens mij controleert die functie of beide onderdelen van de needle voorkomen in de haystack. :)
Volgens mij niet. Dit zou wel werken denk ik (array komt voor in de array))
PHP:
1
2
3
4
5
6
if( in_array(array(6,3),array(6,array(6,3),7,2,5)) ) 
{ 
    echo 'wel gemeenschappelijke 6'; 
} else { 
    echo 'geen gemeenschappelijke 6'; 
}


array_intersect() werkt denk ik beter.

[ Voor 18% gewijzigd door GlowMouse op 18-04-2005 23:07 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

GlowMouse: Dat illustreert precies waar ik op doel? :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
-NMe- schreef op maandag 18 april 2005 @ 23:07:
GlowMouse: Dat illustreert precies waar ik op doel? :P
Volgens mij bedoel jij dat...
PHP:
1
if( in_array(array(6,3),array(6,3,7,2,5)) )

...true zou moeten geven. Beide onderdelen van de needle komen voor in de haystack. En volgens mij geeft het false.

Acties:
  • 0 Henk 'm!

  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08 21:02
PHP:
1
if( in_array(array(6,3),array(6,3,7,2,5)) )

Dit geeft idd een false.
Eens even kijken hoe ik array_intersect kan gebruiken

edit: Dan zo maar:
PHP:
1
2
3
4
5
6
7
8
<?PHP
if( count(array_intersect(array(6,3),array(6,7,2,5))) == 0 )
{
    echo 'geen gemeenschappelijke waarden';
} else {
    echo 'wel gemeenschappelijke waarden';
}
?>

[ Voor 43% gewijzigd door BobDay op 18-04-2005 23:20 . Reden: Oplossing voor mij gevonden ]

43% of all statistics are worthless


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

GlowMouse schreef op maandag 18 april 2005 @ 23:08:
Volgens mij bedoel jij dat...
PHP:
1
if( in_array(array(6,3),array(6,3,7,2,5)) )

...true zou moeten geven. Beide onderdelen van de needle komen voor in de haystack. En volgens mij geeft het false.
Nee, ik bedoelde ook je eerste voorbeeld, maar nou ik het nog eens nalees was dat idd niet zo duidelijk. :+ Het zal het tijdstip zijn. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1