3 ms·
It's not quite what you're asking for, but there is a way to handle array results from functions where you know the number of elements that will be returned. F
by whiskers 15y ago
It's not quite what you're asking for, but there is a way to handle array results from functions where you know the number of elements that will be returned.
For example:
// explode splits the string on the provided boundary
// and returns an array containing each segment.
// using list() we can assign the two segments to two
// variables within the same statement
$size = "1000x1000";
list( $width, $height ) = explode( "x", $size );
- andrewvc 15y agoAh yes, I love nothing more than functions on the left side of assignment. Edit: Yes, it is a special form, but its still irregular, and that makes it shitty.
- abarrett 15y agohttp://www.php.net/manual/en/function.list.php http://www.php.net/manual/en/function.list.php It's a language construct, not a function.
- masklinn 15y ago`list` is a special form, not a function.
- wvenable 15y agoIt's a pretty common feature of a lot of languages (Python, Perl, etc) so it's really not that irregular.
- jrockway 15y agoIt looks more obviously "language feature" in Perl, Python, and JavaScript, though: my ($foo, $bar) = f; (foo, bar) = f() var [foo, bar] = f();
- wvenable 15y agoHow are any of those examples significantly different from: list($foo, $bar) = f(); Given that PHP uses the array() keyword for constructing arrays, it is perfectly symmetrical. My IDE highlights the list() keyword just the same as all the other keywords.