> what are you trying to do? > why do you want to diffirentiate between "99" as a string or > as a number? Because if it is a string, more than likely it means that the key was user defined and is not PHP defined as an element number. Again, consider the differences between these two arrays: array( "This", "That", "Other" ); PHP more or less turns this into an associative arrays because, as far as I know, all arrays are associative. If you loop through this array, you get the following key/value pairs Key Value 0 This 1 That 2 Other The keys are numbers, integers. They are also the element numbers. Now, the second type of array: array( "1" => "this", "2" => "that", "few" => "other" ); Looping through this array, you get the following key/value pairs: Key Value 1 this 2 that few other Funkiness exists that PHP also sees "1" and "2" as element numbers. So if you loop (pseudo)for( $i = 1 to 5 ) and print out those elements, it will print out only "this" and "that", ignoring "other". But that is neither here nor there for the most part, just something that I need to take into consideration and something that prevents me from just checking to see if the the key is the same as the element number because in some cases, it legitimately can be. Alas. As for what I am trying to do, I am looking for a way to determine if an array is a user defined associative array or not. I.E., I want to come up with an algorithm to differentiate between the two arrays defined above - the normal array and the associative array. Again, any help or insight would be greatly appreciated. Zeev? Rasmus? Chris