On 31 December 2010 14:08, Kalle Sommer Nielsen <ka...@php.net> wrote:
> Hi Richard
>
> 2010/12/31 Richard Quadling <rquadl...@gmail.com>:
>> Hi.
>>
>> What macros exist regarding processing arrays in PHP (core not userland)?
>
> Zend hash, see Zend/zend_hash.c for its API.
>
>> I want to pass ...
>>
>> array('value1', 'value2', 'value3')
>
> You would do something like:
>
> PHP_FUNCTION(test)
> {
>       zval *array;
>
>       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a",
> &array) == FAILURE) {
>              return;
>       }
>
>       /* Z_ARRVAL_P(array) is a HashTable* ptr */
> }
>
>>
>> to a function and in the function have it converted to
>>
>> 'value1\0value2\0value3\0\0'.
>>
>> Conventionally, I'd need to iterate the array to get the lengths of
>> all the elements, add the number of elements to this value and then 1
>> more for the trailing \0.
>
> The move_forward, get_current etc. hash functions can be used to
> iterate, see zend_hash.h:
> http://lxr.php.net/opengrok/xref/PHP_TRUNK/Zend/zend_hash.h#194
>
>
> --
> regards,
>
> Kalle Sommer Nielsen
> ka...@php.net
>

OOI, can I cheat and simply use php_implode() ?



-- 
Richard Quadling
Twitter : EE : Zend
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to