У меня есть следующий массив из результата от var_export($post_meta);
от $post_meta = get_post_meta(80)
;filter_input_array на многомерном массиве
array (
'_edit_last' =>
array (
0 => '1',
),
'_edit_lock' =>
array (
0 => '1451326767:1',
),
'_sidebar' =>
array (
0 => 'Kies Sidebar',
),
'_wp_page_template' =>
array (
0 => 'page-pop.php',
),
'custom_sidebar_per_page' =>
array (
0 => 'default',
),
'_cat_id' =>
array (
0 => '21',
),
'_order_by' =>
array (
0 => 'date',
),
'_asc' =>
array (
0 => 'DESC',
),
'_post_count' =>
array (
0 => '5',
),
'_days' =>
array (
0 => '0',
),
'_custom_sidebar_per_page' =>
array (
0 => 'default',
),
)
Теперь мне нужно отфильтровать некоторые из этих значений, если они существуют, поэтому я могу их безопасно использовать. Я делаю следующее
$args = [
'_cat_id' => [
0 => [
'filter' => FILTER_VALIDATE_INT,
'default' => 1
]
],
'_page_title' => [
0 => FILTER_SANITIZE_STRING,
],
'_posts_title' => [
0 => FILTER_SANITIZE_STRING,
],
'_order_by' => [
0 => [
'filter' => FILTER_SANITIZE_STRING,
'default' => 'date'
]
],
'_asc' => [
0 => [
'filter' => FILTER_SANITIZE_STRING,
'default' => 'DESC'
]
],
'_post_count' => [
0 => [
'filter' => FILTER_VALIDATE_INT,
'default' => get_option('posts_per_page')
]
]
];
$meta = filter_var_array($post_meta, $args);
, но я получаю следующие результаты от var_export($meta)
array (
'_cat_id' => false,
'_page_title' => NULL,
'_posts_title' => NULL,
'_order_by' => false,
'_asc' => false,
'_post_count' => false,
)
Что-то вроде _cat_id
должен возвращать что-то вроде
'_cat_id' =>
array (
0 => 21,
),
в полученном массиве.
Любые идеи о том, как использовать filter_var_array
на многомерный массив
Может быть, это помогает? Похоже, что filter_var_array не работает рекурсивно. http://stackoverflow.com/questions/4829355/filter-var-array-multidimensional-array – eol