@@ -136,7 +136,7 @@ public static function last(array $array)
136136 */
137137 public static function insertBefore (array &$ array , $ key , array $ inserted ): void
138138 {
139- $ offset = (int ) self ::getKeyOffset ($ array , $ key );
139+ $ offset = $ key === null ? 0 : (int ) self ::getKeyOffset ($ array , $ key );
140140 $ array = array_slice ($ array , 0 , $ offset , true )
141141 + $ inserted
142142 + array_slice ($ array , $ offset , count ($ array ), true );
@@ -150,11 +150,12 @@ public static function insertBefore(array &$array, $key, array $inserted): void
150150 */
151151 public static function insertAfter (array &$ array , $ key , array $ inserted ): void
152152 {
153- $ offset = self ::getKeyOffset ($ array , $ key );
154- $ offset = $ offset === null ? count ($ array ) : $ offset + 1 ;
155- $ array = array_slice ($ array , 0 , $ offset , true )
153+ if ($ key === null || ($ offset = self ::getKeyOffset ($ array , $ key )) === null ) {
154+ $ offset = count ($ array ) - 1 ;
155+ }
156+ $ array = array_slice ($ array , 0 , $ offset + 1 , true )
156157 + $ inserted
157- + array_slice ($ array , $ offset , count ($ array ), true );
158+ + array_slice ($ array , $ offset + 1 , count ($ array ), true );
158159 }
159160
160161
0 commit comments