Re: In C, how do I access an associative array?

From: Date: Tue, 25 Sep 2001 14:02:22 +0000
Subject: Re: In C, how do I access an associative array?
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-66549@lists.php.net to get a copy of this message
> On Tue, Sep 25, 2001 at 09:00:18AM -0400, mlwmohawk@mohawksoft.com > wrote: >> >> If I do this in PHP: >> >> <? >> $array = array(); >> >> $array["foo"] = "bar"; >> $array["hey"] = "you"; >> $array["pink"]="floyd"; >> >> myext_function($array); >> ?> >> >> >> How do I find all the keys and values out of that array in my >> extension? Is there a way? > > You can do something like: > > if (zend_hash_find(Z_ARRVAL_PP(input), "pink", sizeof("pink"), (void > **) &val) == SUCCESS) { > convert_to_string_ex(val); > ... > } > > to look for pink, if you just want to iterate through the keys you can > do something like: > > zend_hash_internal_pointer_reset_ex(Z_ARRVAL_PP(input), &pos); > while(zend_hash_get_current_data_ex(Z_ARRVAL_PP(input), (void > **)&entry, &pos) == SUCCESS) { > zend_hash_get_current_key_ex(Z_ARRVAL_PP(input), &string_key, > &string_key_len, &num_key, 0, &pos) ... > } Thanks, I did a quick search and didn't see anything intuitively obvious. This helps a lot, again, thanks.

« previous php.dev (#66549) next »