I remember reading a cogent explanation for this inconsistency but can't seem to locate it.
JavaScript suffers from inconsistent mutation/return of array values in array functions, too.
PHPs design problems are mostly being swept away; it's the legacy that keeps its reputation down.