@@ -67,30 +67,31 @@ function wp_array_flatmap_assoc( callable $callback, array $input, string $key,
67
67
/**
68
68
* Legacy function to extract a slice of an array not including the specified keys.
69
69
*
70
- * @param array $input_array Input array.
71
- * @param array $keys Keys to exclude.
70
+ * @template T of array<string,mixed>
71
+ *
72
+ * @param T $arr Input array.
73
+ * @param array<string> $keys Keys to exclude.
74
+ * @return T
72
75
*/
73
- function wp_array_diff_assoc ( array $ input_array , array $ keys ) {
74
- return xwp_array_diff_assoc ( $ input_array , ...$ keys );
76
+ function wp_array_diff_assoc ( array $ arr , array $ keys ) {
77
+ return xwp_array_diff_assoc ( $ arr , ...$ keys );
75
78
}
76
79
endif ;
77
80
78
81
if ( ! function_exists ( 'xwp_array_diff_assoc ' ) ) :
79
82
/**
80
83
* Extracts a slice of array not including the specified keys.
81
84
*
82
- * @template T
85
+ * @template T of array<string,mixed>
83
86
*
84
87
* @param T $arr Input array.
85
88
* @param string|array<string> ...$keys Keys to exclude.
86
89
* @return T
87
90
*/
88
91
function xwp_array_diff_assoc ( array $ arr , array |string ...$ keys ) {
89
- if ( is_array ( $ keys [0 ] ) ) {
90
- $ keys = $ keys [0 ];
91
- }
92
+ $ keys = is_array ( $ keys [0 ] ?? '' ) ? $ keys [0 ] : $ keys ;
92
93
93
- return f \Array_Extra::diff_assoc ( $ arr , $ keys );
94
+ return $ keys ? f \Array_Extra::diff_assoc ( $ arr , $ keys ) : $ arr ;
94
95
}
95
96
96
97
endif ;
@@ -112,14 +113,16 @@ function wp_array_rekey( array $arr, string $key ): array {
112
113
/**
113
114
* Extracts a slice of an array.
114
115
*
115
- * @template T The type of the elements in the input array.
116
+ * @template T of array<string,mixed>
116
117
*
117
- * @param array<string, T> $input_array Input array.
118
- * @param string ...$keys Keys to include .
119
- * @return array<string, T> Array with only the keys specified.
118
+ * @param T $arr Input array.
119
+ * @param string|array<string> ...$keys Keys to exclude .
120
+ * @return T
120
121
*/
121
- function xwp_array_slice_assoc ( array $ input_array , string ...$ keys ) {
122
- return f \Array_Extra::slice_assoc ( $ input_array , $ keys );
122
+ function xwp_array_slice_assoc ( array $ arr , array |string ...$ keys ) {
123
+ $ keys = is_array ( $ keys [0 ] ?? '' ) ? $ keys [0 ] : $ keys ;
124
+
125
+ return $ keys ? f \Array_Extra::slice_assoc ( $ arr , $ keys ) : $ arr ;
123
126
}
124
127
endif ;
125
128
0 commit comments