Order of arguments (array manipulations)
Callback last:
array array_filter ( array $input [, callback $callback ] ) array array_uintersect ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func ) bool usort ( array &$array , callback $cmp_function )
Callback first:
array array_map ( callback $callback , array $arr1 [, array $... ] )
Some non-array functions with callbacks before the end (to show array_map()
isn't an exception somehow):
mixed call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] ) mixed preg_replace_callback ( mixed $pattern , callback $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )
Significance: Consistency
Language consistency is very important for developer efficiency. Every inconsistent language feature means that developers have one more thing to remember, one more reason to rely on the documentation, or one more situation that breaks their focus. A consistent language lets developers create habits and expectations that work throughout the language, learn the language much more quickly, more easily locate errors, and have fewer things to keep track of at once.