Return to natcasesort_object1.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test natcasesort() function : object functionality - array of objects 3: --FILE-- 4: <?php 5: /* Prototype : bool natcasesort(array &$array_arg) 6: * Description: Sort an array using case-insensitive natural sort 7: * Source code: ext/standard/array.c 8: */ 9: 10: /* 11: * Pass natcasesort() an array of objects to test how it re-orders them 12: */ 13: 14: echo "*** Testing natcasesort() : object functionality ***\n"; 15: 16: // class declaration for string objects 17: class for_string_natcasesort 18: { 19: public $class_value; 20: // initializing object member value 21: function __construct($value){ 22: $this->class_value = $value; 23: } 24: 25: // return string value 26: function __tostring() { 27: return (string)$this->class_value; 28: } 29: 30: } 31: 32: 33: 34: // array of string objects 35: $unsorted_str_obj = array ( 36: new for_string_natcasesort("axx"), new for_string_natcasesort("t"), 37: new for_string_natcasesort("w"), new for_string_natcasesort("py"), 38: new for_string_natcasesort("apple"), new for_string_natcasesort("Orange"), 39: new for_string_natcasesort("Lemon"), new for_string_natcasesort("aPPle") 40: ); 41: 42: 43: echo "\n-- Testing natcasesort() by supplying various object arrays --\n"; 44: 45: // testing natcasesort() function by supplying string object array 46: var_dump(natcasesort($unsorted_str_obj) ); 47: var_dump($unsorted_str_obj); 48: 49: echo "Done"; 50: ?> 51: 52: --EXPECTF-- 53: *** Testing natcasesort() : object functionality *** 54: 55: -- Testing natcasesort() by supplying various object arrays -- 56: bool(true) 57: array(8) { 58: [4]=> 59: object(for_string_natcasesort)#%d (1) { 60: ["class_value"]=> 61: string(5) "apple" 62: } 63: [7]=> 64: object(for_string_natcasesort)#%d (1) { 65: ["class_value"]=> 66: string(5) "aPPle" 67: } 68: [0]=> 69: object(for_string_natcasesort)#%d (1) { 70: ["class_value"]=> 71: string(3) "axx" 72: } 73: [6]=> 74: object(for_string_natcasesort)#%d (1) { 75: ["class_value"]=> 76: string(5) "Lemon" 77: } 78: [5]=> 79: object(for_string_natcasesort)#%d (1) { 80: ["class_value"]=> 81: string(6) "Orange" 82: } 83: [3]=> 84: object(for_string_natcasesort)#%d (1) { 85: ["class_value"]=> 86: string(2) "py" 87: } 88: [1]=> 89: object(for_string_natcasesort)#%d (1) { 90: ["class_value"]=> 91: string(1) "t" 92: } 93: [2]=> 94: object(for_string_natcasesort)#%d (1) { 95: ["class_value"]=> 96: string(1) "w" 97: } 98: } 99: Done