go Rasmus go! :-)

Some more examples and we seriously can extend zend.com/apidoc .

Such examples are of great value to anyone who is new to writing php
extension.

- Markus

On Mon, Aug 13, 2001 at 02:14:01AM -0700, Rasmus Lerdorf wrote : 
> Ah, ok.  It's not much harder:
> 
>   pval *tmp_arr;
> 
>   array_init(return_value);
>   MAKE_STD_ZVAL(tmp_arr);
>   array_init(tmp_arr);
>   add_assoc_string(tmp_arr, "string index", "foo", 1);
>   zend_hash_index_update(Z_ARRVAL_P(return_value), 5, &tmp_arr, sizeof(tmp_arr), 
>NULL);
> 
> This will create  $whatever[5]['string index'] = 'foo'
> 
> Or if you want a string index at the top level:
> 
>   zend_hash_update(Z_ARRVAL_P(return_value), "bar", strlen("bar")+1, &tmp_arr, 
>sizeof(tmp_arr), NULL);
> 
> This will create  $whatever['bar']['string index'] = 'foo';
> 
> -Rasmus
> 
> On Mon, 13 Aug 2001, Thomas Wentzel wrote:
> 
> > Uhhh sorry!
> >
> > What I should have said is that... The associative array I wish to
> > return is to be an array element of .... an associative array ;)
> > Meaning... I need the functionality of add_assoc_array but since
> > this function doesn't exist - I have to manipulate with the
> > zend_hash_xxx in order to get what I want - but I fail to connect
> > my constructed array with a name...
> >
> > Rasmus Lerdorf wrote:
> > >
> > > > I was wondering if someone would be so nice as to post a code
> > > > snippet that returns an associative array... I'm writing an
> > > > extension and am only able to return an ordinary array...
> > > > Alternatively I would be very interested if someone could
> > > > point me to some documentation on the zend_hash_xxx functions
> > >
> > > array_init(return_value);
> > > add_assoc_string(return_value, "string index", your_char_var, 1);
> > > add_assoc_double(return_value, "another one", your_long_var);
> > >
> > > That's all.  Last arg on add_assoc_string() should be 1 if you need to
> > > make a copy of the string.  If the char * you are passing was allocated by
> > > you using emalloc() then don't make a copy.
> > >
> > > You don't need any zend_hash_xxx functions to just return an associative
> > > array.
> > >
> > > -Rasmus
> >
> >
> >
> 
> 
> -- 
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]

-- 
Markus Fischer,  http://guru.josefine.at/~mfischer/
EMail:         [EMAIL PROTECTED]
PGP Public  Key: http://guru.josefine.at/~mfischer/C2272BD0.asc
PGP Fingerprint: D3B0 DD4F E12B F911 3CE1  C2B5 D674 B445 C227 2BD0
              -All your scripts are belong to Zend-

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to