@@ -479,6 +479,8 @@ public function forget($keys)
479479 */
480480 public function get ($ key , $ default = null )
481481 {
482+ $ key ??= '' ;
483+
482484 if (array_key_exists ($ key , $ this ->items )) {
483485 return $ this ->items [$ key ];
484486 }
@@ -497,8 +499,8 @@ public function get($key, $default = null)
497499 */
498500 public function getOrPut ($ key , $ value )
499501 {
500- if (array_key_exists ($ key , $ this ->items )) {
501- return $ this ->items [$ key ];
502+ if (array_key_exists ($ key ?? '' , $ this ->items )) {
503+ return $ this ->items [$ key ?? '' ];
502504 }
503505
504506 $ this ->offsetSet ($ key , $ value = value ($ value ));
@@ -539,6 +541,7 @@ public function groupBy($groupBy, $preserveKeys = false)
539541 is_bool ($ groupKey ) => (int ) $ groupKey ,
540542 $ groupKey instanceof \UnitEnum => enum_value ($ groupKey ),
541543 $ groupKey instanceof \Stringable => (string ) $ groupKey ,
544+ is_null ($ groupKey ) => (string ) $ groupKey ,
542545 default => $ groupKey ,
543546 };
544547
@@ -600,7 +603,7 @@ public function has($key)
600603 {
601604 $ keys = is_array ($ key ) ? $ key : func_get_args ();
602605
603- return array_all ($ keys , fn ($ key ) => array_key_exists ($ key , $ this ->items ));
606+ return array_all ($ keys , fn ($ key ) => array_key_exists ($ key ?? '' , $ this ->items ));
604607 }
605608
606609 /**
@@ -617,7 +620,7 @@ public function hasAny($key)
617620
618621 $ keys = is_array ($ key ) ? $ key : func_get_args ();
619622
620- return array_any ($ keys , fn ($ key ) => array_key_exists ($ key , $ this ->items ));
623+ return array_any ($ keys , fn ($ key ) => array_key_exists ($ key ?? '' , $ this ->items ));
621624 }
622625
623626 /**
0 commit comments