Return to array_sum_variation7.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_sum() function : usage variations - 'input' array with unexpected values as array element 3: --FILE-- 4: <?php 5: /* Prototype : mixed array_sum(array $input) 6: * Description: Returns the sum of the array entries 7: * Source code: ext/standard/array.c 8: */ 9: 10: /* 11: * Testing array_sum() with array having other than numeric entries 12: * strings, bool, null, subarrays & objects 13: */ 14: 15: echo "*** Testing array_sum() : array with unexpected entries ***\n"; 16: 17: // empty array 18: $input = array(); 19: echo "-- empty array --\n"; 20: var_dump( array_sum($input) ); 21: 22: // string array 23: $input = array('Apple', 'Banana', 'Carrot', 'Mango', 'Orange'); 24: echo "-- array with string values --\n"; 25: var_dump( array_sum($input) ); 26: 27: // bool array 28: $input = array( true, true, false, true, false); 29: echo "-- array with bool values --\n"; 30: var_dump( array_sum($input) ); 31: 32: // array with null entry 33: $input = array(null, NULL); 34: echo "-- array with null values --\n"; 35: var_dump( array_sum($input) ); 36: 37: // array with subarray 38: $input = array( 39: array(1, 2), 40: array(), 41: array(0) 42: ); 43: echo "-- array with subarrays --\n"; 44: var_dump( array_sum($input) ); 45: 46: class MyClass 47: { 48: public $value; 49: public function __construct($value) 50: { 51: $this->value = $value; 52: } 53: } 54: // array of objects 55: $input = array( 56: new MyClass(2), 57: new MyClass(5), 58: new MyClass(10), 59: new MyClass(0) 60: ); 61: echo "-- array with object values --\n"; 62: var_dump( array_sum($input) ); 63: 64: // Mixed values 65: $input = array( 5, -8, 7.2, -1.2, "10", "apple", 'Mango', true, false, null, NULL, array( array(1,2), array(0), array())); 66: echo "-- array with mixed values --\n"; 67: var_dump( array_sum($input) ); 68: echo "Done" 69: ?> 70: --EXPECTF-- 71: *** Testing array_sum() : array with unexpected entries *** 72: -- empty array -- 73: int(0) 74: -- array with string values -- 75: int(0) 76: -- array with bool values -- 77: int(3) 78: -- array with null values -- 79: int(0) 80: -- array with subarrays -- 81: int(0) 82: -- array with object values -- 83: int(0) 84: -- array with mixed values -- 85: float(14) 86: Done