Lab 13 ------ This was the library of array functions. It was marked out of 10. For detailed comments about your own submission, see the column in the spreadsheet. Some generic observations: 1) It's no good writing 200+ lines and then leaving in a compile-time error. Since, I cannot run such submissions, they must score zero. 2) Here you're building a library, and you're advertising that this library offers certain functions. The library is no use if you advertise a function with a certain name but then supply a definition that has a different name, e.g. it's no good if the library is advertised as having get_intersection, get_symmetric_difference and are_equal but actually has get_intersect, get_symetric_difference and is_equal. You must use the advertised names. 3) It's costly to pass arrays into functions. Hence, you should have used pass-by-reference. An advanced observation is, if you do use pass-by-reference, then you probably do not want your functions to mess up the original arrays. Hence, this definition of get_union (which messes up the original array in $a)... function get_union( &$a, &$b ) { $c = $a; foreach ( $b as $v ) { if ( ! in_array( $v, $c ) ) { $c[] = $v; } } return $c; } ...is inferior to this one (which does not mess up $a)... function get_union( &$a, &$b ) { $c = array(); foreach ( $a as $v ) { $c[] = $v; } foreach ( $b as $v ) { if ( ! in_array( $v, $c ) ) { $c[] = $v; } } return $c; } 4) You were disallowed certain built-in functions, including count. So you lost makrs if used them. 5) Three of the functions were supposed to return booleans (true or false). Several of you wrote versions that returned strings ('true' or 'false'). Strings are not the same as booleans.