On Fri, May 15, 2009 at 12:31 PM, Farley Knight <[email protected]> wrote:
> zend_hash_internal_pointer_reset(Z_ARRVAL(zhash));
>
> printf("This hash table has %d entries\n",
> zend_hash_num_elements(Z_ARRVAL(zhash)));
>
> int current = 0;
>
> while (zend_hash_get_current_data(Z_ARRVAL(zhash), (void**)&value)
> == SUCCESS) {
> current++;
> printf("Currently on entry %d\n", current);
> if (zend_hash_move_forward(Z_ARRVAL(zhash)) == SUCCESS)
> printf("Done moving hash forward. Result was successful\n");
> else
> printf("Done moving hash forward. Result was a failure\n");
> }
>
Does the problem persist if replacing the hashtable functions by the
_ex counterparts: zend_internal_pointer_reset_ex(),
zend_hash_get_current_data_ex() and zend_move_forward_ex()? These are
always recommended (I believe) because the internal HashPosition value
associated to a hashtable is also used in the user script.
Regards,
Moriyoshi
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php