diff options
Diffstat (limited to 'zend/value.cpp')
-rw-r--r-- | zend/value.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/zend/value.cpp b/zend/value.cpp index dfea847..544926a 100644 --- a/zend/value.cpp +++ b/zend/value.cpp @@ -1738,7 +1738,7 @@ ValueIterator Value::createIterator(bool begin) const // check type if (isArray()) return ValueIterator(new HashIterator(Z_ARRVAL_P(_val), begin, true)); - // get access to the hast table + // get access to the hash table if (isObject()) { // we need the TSRMLS_CC variable @@ -1786,6 +1786,20 @@ ValueIterator Value::end() const } /** + * Iterate over key value pairs + * @param callback + */ +void Value::iterate(const std::function<void(const Php::Value &,const Php::Value &)> &callback) const +{ + // iterate over the object + for (const auto &iter : *this) + { + // call the callback + callback(iter.first, iter.second); + } +} + +/** * Does the array contain a certain index? * @param index * @return bool |