> function my_call_back($key, $value) {
>     return array($value, strlen($value));
> }
> $array = str_word_count("PHP is lots of fun!");
> $array = array_map_key('my_call_back', $array);
>
>
> The result would be the following array:
>
> array(5) {
>   ["PHP"]=>
>   int(3)
>   ["is"]=>
>   int(2)
>   ["lots"]=>
>   int(4)
>   ["of"]=>
>   int(2)
>   ["fun"]=>
>   int(3)
> }
>
>
This example doesn't make any sense, as  str_word_count returns an integer,
so you would in fact pass an int to array_map_key and not an array.

But let's say using your example, you use explode(" ", $string) instead of
str_word_count, which will give you an array of all the words.

What happens in the following case:

function my_call_back($key, $value) {
    return array($value, strlen($value));
}
$array = str_word_count("PHP stands for PHP hypertext preprocessor");
$array = array_map_key('my_call_back', $array);


This would give you 2 keys with the value of PHP. What happens in this case?
What if you have duplicate integer keys. Does the keys simply increment or
throw an error?

Reply via email to