On Mon, 1 Jul 2024, Saki Takamachi wrote: > Hi, > > >> Just a suggestion: what about making the returned array an associative > >> array ? Like so: > >> ``` > >> array( > >> 'quotient' => 61, > >> 'remainder' => 1, > >> ); > >> ``` > >> This would remove the need for devs to remember the order of the return > >> values and would make the return value self-documenting. > > > > An associative array would combine the worst of an array (no IDE > > autocompletion, no strong typing, increased memory usage) with the worst of > > an object (no easy way to extract the values into local variables with > > array destructuring). > > > > The example in the RFC doesn't show it, but the following makes the > > proposed API really convenient to use: > > > > $slicesOfPizza = new BcMath\Number(8); > > $mouthsToFeed = new BcMath\Number(3); > > [$perMouth, $slicesLeft] = $slicesOfPizza->divmod($mouthsToFeed); > > > > Note how the order of values matches the words in the method name. First > > the result of 'div', then the result of 'mod’. > > > Thanks, I have added this example to the RFC (Please let me know if you have > any problems).
The example has: [$perMouth, $slicesLeft] = $slicesOfPizza->divmod($mouthsToFeed); // $perMouth->value is '2' // $slicesLeft->value is '2' Shouldn't that be (without the ->value) ? [$perMouth, $slicesLeft] = $slicesOfPizza->divmod($mouthsToFeed); // $perMouth is '2' // $slicesLeft is '2' cheers, Derick