如何验证和清理 php 中的数据数组?

How to validate and sanitize array of data in php?

我想验证和清理来自 POST 数组的数据。

我的 POST 数据是这样的:

Array
(
    [category_name] => fsdfsfwereq34
    [subCategory] => Array
        (
            [0] => sdfadsffasfasdf
            [1] => sdfasfdsafadsf
            [2] => safdfdasfas
        )

    [category-submitted] => TRUE
)
1

我可以验证和清理 category_name,这就是我在 PHP 中的做法。

if (!empty( $_POST['category_name'])) { 
    $category = filter_input(INPUT_POST, 'category_name', FILTER_SANITIZE_STRING);  
} else {
    $category = NULL;
}

但我不知道如何为 subCategory 数组的值做这件事。 谁能告诉我该怎么做?

希望有人能帮助我。谢谢你。

您可以使用foreach 循环遍历数组的所有值。在循环中,您可以将过滤后的值推送到新数组 $subCategory(例如)。

例如:

$subCategory = $_POST['subCategory'];
$subcategories = array();
if (!empty( $subCategory ) && is_array( $subCategory ) ) {
  foreach( $subCategory as $key => $value ) {
    $subCategories[] = filter_var( $value, FILTER_SANITIZE_STRING )
  }
}

您可以循环遍历或使用此数组:

http://php.net/manual/en/function.filter-input-array.php同理