1
1
<?php
2
- /**
3
- * @package php-array-helpers
4
- * @link https://github.com/bayfrontmedia/php-array-helpers
5
- * @author John Robinson <[email protected] >
6
- * @copyright 2020-2021 Bayfront Media
7
- */
8
2
9
3
namespace Bayfront \ArrayHelpers ;
10
4
@@ -83,7 +77,7 @@ public static function undot(array $array): array
83
77
* @return void
84
78
*/
85
79
86
- public static function set (array &$ array , string $ key , $ value ): void
80
+ public static function set (array &$ array , string $ key , mixed $ value ): void
87
81
{
88
82
89
83
$ keys = explode ('. ' , $ key );
@@ -131,20 +125,14 @@ public static function has(array $array, string $key): bool
131
125
*
132
126
* @param array $array (Original array)
133
127
* @param string $key (Key to return in "dot" notation)
134
- * @param mixed $default (Default value to return)
128
+ * @param mixed|null $default (Default value to return)
135
129
*
136
130
* @return mixed
137
131
*/
138
132
139
- public static function get (array $ array , string $ key , $ default = NULL )
133
+ public static function get (array $ array , string $ key , mixed $ default = NULL ): mixed
140
134
{
141
135
142
- if (is_null ($ key )) {
143
-
144
- return $ array ;
145
-
146
- }
147
-
148
136
if (isset ($ array [$ key ])) {
149
137
150
138
return $ array [$ key ];
@@ -206,12 +194,12 @@ public static function pluck(array $array, string $value, string $key = NULL): a
206
194
* Remove a single key, or an array of keys from a given array using "dot" notation.
207
195
*
208
196
* @param array $array (Original array)
209
- * @param string| array $keys (Key(s) to forget in "dot" notation)
197
+ * @param array|string $keys (Key(s) to forget in "dot" notation)
210
198
*
211
199
* @return void
212
200
*/
213
201
214
- public static function forget (array &$ array , $ keys ): void
202
+ public static function forget (array &$ array , array | string $ keys ): void
215
203
{
216
204
217
205
$ original =& $ array ;
@@ -245,12 +233,12 @@ public static function forget(array &$array, $keys): void
245
233
* Returns the original array except given key(s).
246
234
*
247
235
* @param array $array (Original array)
248
- * @param string| array $keys (Keys to remove)
236
+ * @param array|string $keys (Keys to remove)
249
237
*
250
238
* @return array
251
239
*/
252
240
253
- public static function except (array $ array , $ keys ): array
241
+ public static function except (array $ array , array | string $ keys ): array
254
242
{
255
243
return array_diff_key ($ array , array_flip ((array )$ keys ));
256
244
}
@@ -259,12 +247,12 @@ public static function except(array $array, $keys): array
259
247
* Returns only desired key(s) from an array.
260
248
*
261
249
* @param array $array (Original array)
262
- * @param string| array $keys (Keys to return)
250
+ * @param array|string $keys (Keys to return)
263
251
*
264
252
* @return array
265
253
*/
266
254
267
- public static function only (array $ array , $ keys ): array
255
+ public static function only (array $ array , array | string $ keys ): array
268
256
{
269
257
return array_intersect_key ($ array , array_flip ((array )$ keys ));
270
258
}
@@ -273,12 +261,12 @@ public static function only(array $array, $keys): array
273
261
* Returns array of missing keys from the original array, or an empty array if none are missing.
274
262
*
275
263
* @param array $array (Original array)
276
- * @param string| array $keys (Keys to check)
264
+ * @param array|string $keys (Keys to check)
277
265
*
278
266
* @return array
279
267
*/
280
268
281
- public static function missing (array $ array , $ keys ): array
269
+ public static function missing (array $ array , array | string $ keys ): array
282
270
{
283
271
return array_values (array_flip (array_diff_key (array_flip ((array )$ keys ), $ array )));
284
272
}
@@ -287,14 +275,14 @@ public static function missing(array $array, $keys): array
287
275
* Checks if keys are missing from the original array
288
276
*
289
277
* @param array $array (Original array)
290
- * @param string| array $keys (Keys to check)
278
+ * @param array|string $keys (Keys to check)
291
279
*
292
280
* @return bool
293
281
*/
294
282
295
- public static function isMissing (array $ array , $ keys ): bool
283
+ public static function isMissing (array $ array , array | string $ keys ): bool
296
284
{
297
- return (self ::missing ($ array , $ keys )) ? true : false ;
285
+ return (bool ) self ::missing ($ array , $ keys );
298
286
}
299
287
300
288
/**
0 commit comments