If the key is 0, array_search will return 0, it does not 
start at 1.

  $arr = array('apple','banana','cranberry');
  $key = array_search('apple', $arr);

  print $key; // 0

If 'apple' was not found, $key would then equal 
to boolean false.  Be sure to use "=== false" 
to check failure because 0 == false.  For example:

  $fruit = array('apple','banana','cranberry');
  $findme = 'apple';

  if (($key = array_search($findme, $fruit)) !== false) {
      print "Key ($key) was found from value $findme";
  } else {
      print "Sorry, $findme was not found in array \$fruit";
  }

Again, remember, 0 == false.  == !=, === !==.  So, 0 !== false.
Wow that sounds confusing. :) Also consider the sexy array_keys()
function.

Regards,
Philip Olson

p.s. http://uk.php.net/manual/en/language.operators.comparison.php
p.s.s. also take into account extra whitespace (trim), and potential 
       issues with case sensitivity (strtolower).


On Thu, 25 Apr 2002, andy wrote:

> Hi there,
> 
> I am passing an array through the URL with a ',' inbetween:
> var=php,mysql,super
> Parsing is done with: explode (',',$var). This gives me an array starting
> with 0
> 
> Later on I have to search for lets say php with array_search.
> 
> Unfortunatelly array_search requires an array starting with 1. So php is not
> found.
> 
> Does anybody know a workaround for this?
> 
> Thanx,
> 
> Andy
> 
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to