Learn to read C source code!
You should be able to read it just like any book.
you will need the following functions:
- zend_hash_internal_pointer_reset_ex()
- zend_hash_move_forward_ex()
- zend_hash_get_current_key_ex()
- zend_hash_get_current_data_ex()
There are same functions without "_ex" in Zend API, but it's safer not to use them.
Now look at these functions' definitions in zend_hash.h / zend_hash.c, search for them in sources of other extensions and explore the code.
I'd paste a code from my extension (I had to use arrays very intensively), but it's too large and will be less readable in this forum than in a .c file.
good luck =)