Re: Working with arrays.

From: Date: Fri, 31 Dec 2010 14:08:33 +0000
Subject: Re: Working with arrays.
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-51154@lists.php.net to get a copy of this message
Hi Richard 2010/12/31 Richard Quadling <rquadling@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 kalle@php.net

« previous php.internals (#51154) next »