login  Naam:   Wachtwoord: 
Registreer je!
 Overzicht:
Overzicht > PHP > Arrays > in_array()

Gebruik:
in_array($iets,$array);

Uitleg:
Met deze functie kun je controleren of een bepaalde waarde in een array zit. Dit is bijvoorbeeld ook handig te gebruiken bij een pagina systeem waarin je maar slechts enkele pagina's hebt.


Voorbeeld:
<?
$array 
= ('Klok','Printer','Landkaart');
if(
in_array('Printer',$array))
{
  echo 
'Er zit een printer in de array.';
}
else
{
  echo 
'Er zit geen printer in de array.';
}
?>

Bijdragen :
Richard
Deze functie is heel geschikt voor bijv. pagina systemen, maar als je een grote array doorlust, of een lange lus hebt, die vaak wordt herhaald, kun je beter de array omgedraaid opslaan (ipv $array[] = 'value', $array['value'] = true) doen, en hierbij isset gebruiken.
nemesiskoen
Je functie is over het algemeen wel in orde alleen is dit een beetje onlogisch:
  1. if( is_array( $value ) === true ) {

is_array stuurt altijd een boolean terug
==>
  1. if(is_array($value)) ...


Citaat:
Proximus edit
Allemaal persoonlijke voorkeur. Ikzelf maak ook altijd gebruik van === true en niet van de korte variant die jij beschrijft. Beiden zijn echter wel correct.

Stijn
Je hebt de functie PHP.net: array_search om waarden te zoeken in een array. Ik heb hier mijn eigen versie van geschreven.

  1. <?php
  2. /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
  3. /**
  4. * search_array.php - Search a value in the parameter $array and add the found results to $results;
  5. *
  6. * this function was written for pj_muller00
  7. *
  8. * function: search_array( $array , $search , $use_path = false , $path = '' , $results = array() );
  9. * this function returns an array with results.
  10. *
  11. * @license http://www.gnu.org/licenses/gpl.html
  12. * @author Stijn Leenknegt <stijnleenknegt@gmail.com>
  13. * @version Versie 1.0
  14. */
  15.  
  16. // full error reporting
  17. error_reporting( E_ALL );
  18.  
  19.  
  20. /**
  21.  * @param array $array
  22.  * @param string $search
  23.  * @param bool $use_path
  24.  * @param string $path
  25.  * @param array $results
  26.  * @return array
  27.  */
  28. function search_array( $array , $search , $use_path = false , $path = '' , $results = array() )
  29. {
  30.  
  31. foreach( $array as $key => $value) {
  32.  
  33. if( is_array( $value ) === true ) {
  34. search_array( $value , $search , $use_path , ( strlen( $path ) == 0) ? $path . $key : $path . ' » ' . $key , &$results );
  35. }
  36.  
  37. if( $value == $search ) {
  38. $results[] = ( $use_path === false ) ? true : $path;
  39. }
  40.  
  41. }
  42.  
  43. return $results;
  44.  
  45. }
  46.  
  47. #####################################
  48. # Exemples how to use this function #
  49. #####################################
  50. # a 2D array #
  51. #####################################
  52. $box = array( );
  53. $box['A'] = array('a1','a2','a3','b1','b2','b3','c1','c2','c3');
  54. $box['B'] = array('a4','a5','a6','b4','b5','b6','c4','c5','c6');
  55. $box['C'] = array('a7','a8','a9','b7','b8','b9','c7','c8','c9');
  56. $box['D'] = array('d1','d2','d3','e1','e2','e3','f1','f2','f3');
  57. $box['E'] = array('d4','d5','d6','e4','e5','e6','f4','f5','f6');
  58. $box['F'] = array('d7','d8','d9','e7','e8','e9','f7','f8','f9');
  59. $box['G'] = array('g1','g2','g3','h1','h2','h3','i1','i2','i3');
  60. $box['H'] = array('g4','g5','g6','h4','h5','h6','i4','i5','i6');
  61. $box['I'] = array('g7','g8','g9','h7','h8','h9','i7','i8','i9');
  62.  
  63. //with the key path
  64. $results_array = search_array( $box , 'f4' , true );
  65.  
  66. foreach( $results_array as $key => $value ) {
  67. echo $value . '<br>';
  68. }
  69.  
  70. //without the key path
  71. $results_array = search_array( $box , 'g5' , false );
  72.  
  73. foreach( $results_array as $key => $value ) {
  74. echo $value . '<br>';
  75. }
  76.  
  77.  
  78. #####################################
  79. # a 3D array #
  80. #####################################
  81. $my_array = array();
  82. $my_array['A'] = array( 'B' => array( 'F1' , 'F2' ) , 'C' => array( 'F3', 'F4' ) );
  83. $my_array['D'] = array( 'E' => array( 'F5' , 'F6' ) , 'F' => array( 'F7', 'F8' ) );
  84.  
  85. //with the key path
  86. $results_array = search_array( $my_array , 'F4' , true );
  87.  
  88. foreach( $results_array as $key => $value ) {
  89. echo $value . '<br>';
  90. }
  91. ?>


 Overzicht
array()
array_change_key_...
array_chunk()
array_combine
array_count_values()
array_diff_assoc()
array_fill()
array_intersect()
array_keys()
array_key_exists
array_multisort()
array_pop()
array_push()
array_reverse()
array_shift()
array_sum()
array_unique()
array_values()
count()
end()
explode()
implode()
in_array()
natcasesort()
reset()
rsort()
shuffle()
sizeof()
sort()



© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.043s