Browse Source

Fixed bug 48484 (array_product() always returns 0 for an empty array).

experimental/with_scalar_types
Ilia Alshanetsky 15 years ago
parent
commit
9696faa790
  1. 4
      ext/standard/array.c
  2. 2
      ext/standard/tests/array/bug35014.phpt
  3. 2
      ext/standard/tests/array/bug35014_64bit.phpt
  4. 8
      ext/standard/tests/array/bug48484.phpt

4
ext/standard/array.c

@ -4052,10 +4052,10 @@ PHP_FUNCTION(array_product)
return;
}
ZVAL_LONG(return_value, 1);
if (!zend_hash_num_elements(Z_ARRVAL_P(input))) {
RETURN_LONG(0);
return;
}
ZVAL_LONG(return_value, 1);
for (zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(input), &pos);
zend_hash_get_current_data_ex(Z_ARRVAL_P(input), (void **)&entry, &pos) == SUCCESS;

2
ext/standard/tests/array/bug35014.phpt

@ -25,7 +25,7 @@ foreach ($tests as $v) {
--EXPECTF--
Warning: array_product() expects parameter 1 to be array, string given in %s on line %d
NULL
int(0)
int(1)
int(0)
int(3)
int(9)

2
ext/standard/tests/array/bug35014_64bit.phpt

@ -25,7 +25,7 @@ foreach ($tests as $v) {
--EXPECTF--
Warning: array_product() expects parameter 1 to be array, string given in %s on line %d
NULL
int(0)
int(1)
int(0)
int(3)
int(9)

8
ext/standard/tests/array/bug48484.phpt

@ -0,0 +1,8 @@
--TEST--
Bug 48484 (array_product() always returns 0 for an empty array)
--FILE--
<?php
var_dump(array_product(array()));
?>
--EXPECT--
int(1)
Loading…
Cancel
Save