|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-02-09 13:20 UTC] paja at onride dot com
Hello,
I'm trying function array_key_exists in this sample script, but doesn't work:
<?
$a="ap";
$pole = array(1 => "ap", "aa", "dd");
if (array_key_exists($a, $pole)):
echo "The element is in the array";
endif;
?>
but when using:
$pole = array("ap" => 1, "aa" => 2, "dd" => 3);
it's working. Can somebody look at this problem?
Thanks,
Pavel Hrabal
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 19:00:02 2025 UTC |
first case: array(3) { [1]=> string(2) "ap" [2]=> string(2) "aa" [3]=> string(2) "dd" } second case: array(3) { ["ap"]=> int(1) ["aa"]=> int(2) ["dd"]=> int(3) } Why is this different? Shouldn't this be the same? as Array() definition says: Syntax "index => values", separated by commas, define index and values. index may be of type string or numeric. When index is omitted, a integer index is automatically generated, starting at 0. If index is an integer, next generated index will be the biggest integer index + 1. Note that when two identical index are defined, the last overwrite the first. So I have used in first case the Example 3. 1-based index with array(): $firstquarter = array(1 => 'January', 'February', 'March'); I thing, that the second case definition is wrong and should return error, but as I see, the function array_key_exists works with this... I'm I mad or what???$pole = array(1 => "ap", "aa", "dd"); | | Key $pole = array("ap" => 1, "aa" => 2, "dd" => 3); | | | | | | Key Key Key This is what he means, ap is NOT a KEY in the first array it is a VALUE. The function you want is in_array() - http://www.php.net/manual/en/function.in-array.php -Chris