Re: Split as an alias to explode

From: Date: Sat, 16 Aug 2025 20:33:30 +0000
Subject: Re: Split as an alias to explode
References: 1 2 3 4 5  Groups: php.internals 
Request: Send a blank email to internals+get-128490@lists.php.net to get a copy of this message
On 16 August 2025 10:16:40 BST, "Christoph M. Becker" <cmbecker69@gmx.de> wrote: >Because it would still be rather confusing to JavaScript developers who >are used to > > str.split(separator) > >and now would have to deal with > > split(separator, str) The fact that PHP doesn't have methods on strings, numbers, and lists, is something you learn once and applies to dozens of different functions. It's like saying "it would be rather confusing that you have to write split($foo, $bar) instead of split(foo, bar)". And why focus on JavaScript anyway? Have a look at this comparison of how to "tokenize" a string in dozens of different languages: <https://rosettacode.org/wiki/Tokenize_a_string> If they have a built-in implementation, it is nearly always called "split", regardless of whether it's a method, a free function, an operator, or whatever else. Apart from PHP, the only built-ins called "explode" appear in Modula-3, and an obscure teaching language called Basic256. Let's face it, "exploding a string" is a slightly odd metaphor. I wouldn't be surprised if it causes extra confusion in people who don't speak English as a first language, as well. I can only assume the original split() function came first, taking a regex because of the influence of Perl; and explode() was chosen when hunting around for a distinct name later. I do accept the argument that aliases can lead to confusion when reading code that mixes them, though. I've seen people completely convinced that sizeof() means something different from count() Rowan Tommins [IMSoP]

« previous php.internals (#128490) next »