Merge branch 'PHP-5.6'

This commit is contained in:
Bob Weinand 2014-04-13 19:28:32 +02:00
commit ef214aa3c0
2 changed files with 21 additions and 1 deletions

View File

@ -336,7 +336,10 @@ PHP_FUNCTION(count)
#ifdef HAVE_SPL
/* if not and the object implements Countable we call its count() method */
if (Z_OBJ_HT_P(array)->get_class_entry && instanceof_function(Z_OBJCE_P(array), spl_ce_Countable TSRMLS_CC)) {
zend_call_method_with_0_params(&array, NULL, NULL, "count", &retval);
zval *mode_zv;
MAKE_STD_ZVAL(mode_zv);
Z_LVAL_P(mode_zv) = mode;
zend_call_method_with_1_params(&array, NULL, NULL, "count", &retval, mode_zv);
if (retval) {
convert_to_long_ex(&retval);
RETVAL_LONG(Z_LVAL_P(retval));

View File

@ -0,0 +1,17 @@
--TEST--
Bug #67064 ()
--FILE--
<?php
class Counter implements Countable {
public function count($mode = COUNT_NORMAL) {
var_dump($mode == COUNT_RECURSIVE);
return 1;
}
}
$counter = new Counter;
var_dump(count($counter, COUNT_RECURSIVE));
?>
--EXPECTF--
bool(true)
int(1)