Now, I know I can do this.
Now, I the neat-freak in me cringes about the "1" in the splice call... I feel like I'm not using it the way it was meant to be. The functional programmer sighs about the destructive operation. The worrier wonders if this is a slippery slope to "OMG CODE EVERYWHERE!" style coding that would make even novice PHP programmer blush. Avoiding that requires balance—use this sparingly and only when it helps make things clear.
But, when it comes down to it, it's less code than before and there's no place for subtle inconsistencies to hide in all of the forms I have that require manipulating arrays of objects. If it's idiomatic, then at least it's easily recognizable for what it is: a simple solution to a problem that pretty much any form of any complexity has to solve.