Вот что необходимо было сделать:
if( isset( $data['sanitize'], $data['validate'], $data['authorize'] ) ) {
// Делай вещи с моими данными
}
Конечно, это не так уж много кода, но такой синтаксис просто сводит меня с ума. Итак, я подумал, что было бы неплохо сделать что-то вроде этого:
//
if( array_keys_exist( $data, 'sanitize', 'validate', 'authorize' ) ) {
// Делай вещи с моими данными
}
//
Это проигрывает хорошо известную функцию в PHP, но добавляет возможность проверять, существует ли несколько ключей, и улучшает читабельность кода. array_key_exists(). Несколько мгновений спустя я собрал симпатичную небольшую служебную функцию, которая делает именно это:
/**
* Проверяет, существует ли несколько ключей в массиве
*
* @param array $array
* @param array|string $keys
*
* @return bool
*/
function array_keys_exist( array $array, $keys ) {
$count = 0;
if ( ! is_array( $keys ) ) {
$keys = func_get_args();
array_shift( $keys );
}
foreach ( $keys as $key ) {
if ( isset( $array[$key] ) || array_key_exists( $key, $array ) ) {
$count ++;
}
}
return count( $keys ) === $count;
}
Наслаждайтесь!
Статья была переведена для блога TechBlog.SDStudio.top
Источник: wpscholar.com