Variant f_array_merge(int _argc, CVarRef array1, CArrRef _argv /* = null_array */) { getCheckedArray(array1); Array ret = Array::Create(); php_array_merge(ret, arr_array1); for (ArrayIter iter(_argv); iter; ++iter) { Variant v = iter.second(); if (!v.isArray()) { throw_bad_array_exception(); return uninit_null(); } CArrRef arr_v = v.asCArrRef(); php_array_merge(ret, arr_v); } return ret; }
/** {{{ public ZeActiveString::putAll($map) */ PHP_METHOD(ze_activestring, putAll) { zval * self = NULL; zval * items = NULL; zval * map = NULL; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a" , &map ) == FAILURE) { WRONG_PARAM_COUNT; } self = getThis(); items = zend_read_property(ze_activestring_ce, self, ZEND_STRL(ZE_ITEMS), 0 TSRMLS_CC); php_array_merge(Z_ARRVAL_P(items), Z_ARRVAL_P(map), 0 TSRMLS_CC); zend_update_property(ze_activestring_ce, self, ZEND_STRL(ZE_ITEMS), items TSRMLS_CC); RETURN_ZVAL(self, 1, 0); }