Browse Source

Array has nested key

Mr. CaT 1 year ago
parent
commit
3d9ae37835
1 changed files with 16 additions and 1 deletions
  1. 16 1
      app/Providers/AppServiceProvider.php

+ 16 - 1
app/Providers/AppServiceProvider.php

@@ -2,6 +2,7 @@
 
 
 namespace App\Providers;
 namespace App\Providers;
 
 
+use Illuminate\Support\Arr;
 use Illuminate\Support\ServiceProvider;
 use Illuminate\Support\ServiceProvider;
 
 
 class AppServiceProvider extends ServiceProvider
 class AppServiceProvider extends ServiceProvider
@@ -19,6 +20,20 @@ class AppServiceProvider extends ServiceProvider
      */
      */
     public function boot(): void
     public function boot(): void
     {
     {
-        //
+        // Some array macros
+        // Searching for key in nested array
+        Arr::macro('hasNestedKey', function ($key, $array) {
+            if (array_key_exists($key, $array)) {
+                return true;
+            }
+
+            foreach ($array as $element) {
+                if (is_array($element)) {
+                    return Arr::hasNestedKey($key, $element);
+                }
+            }
+
+            return false;
+        });
     }
     }
 }
 }