php全局修剪$ _post

时间:2009-08-26 17:13:03

标签: php

你可以修剪所有$ _POST变量吗?因为我现在有一个非常长的列表来修剪每个var。看起来很不专业。我想修剪($ _ POST);可能会工作,但它没有:]

7 个答案:

答案 0 :(得分:26)

您可以使用array_map执行此操作:

$_POST = array_map('trim', $_POST);

答案 1 :(得分:23)

适用于多维数组

array_walk_recursive($_POST, function (&$val) 
{ 
    $val = trim($val); 
});

答案 2 :(得分:10)

foreach($_POST as &$p) $p = trim($p);

答案 3 :(得分:3)

快速而简单:

foreach($_POST as $key => $val)
{
    $_POST[$key] = trim($val);
}

答案 4 :(得分:2)

最简单,最干净(在我看来)是使用内置的array_map函数:

array_map('trim', $_POST);

您也可以通过将数组作为第一个回调参数传递给您自己的方法,如下所示:

array_map(array('My_Class', 'staticMethod'), $_POST); // Invoke a static method

array_map(array($myObject, 'objectMethod'), $_POST); 
// Invoke $myObject->objectMethod for each element of $_POST

根据以下评论进行更新

有时$ _POST数组可能包含数组。如果您想要修剪这些数组的内容,PHP manual user notes中还有许多array_map_recursive的自定义实现。去那里为自己选择一个。如果您不喜欢自定义实现,array_walk_recursive对您来说也是一个不错的选择。

答案 5 :(得分:1)

您可以使用array_walk()执行此操作。

答案 6 :(得分:0)

使用recursive功能,您可以这样做。

<强> PHP

// Static $_POST Array.
$_POST['1']='one ';
$_POST['2']=' two';
$_POST['3'][]=' three   ';
$_POST['4'][][]=' four';
$_POST['5'][0][1][3]='five ';

// Recursive function for trim data.
function trim_recursive($array){
    $return = array();
    foreach($array as $key=>$values){
        if(is_array($values)===true){
            $return[$key] = trim_recursive($values);
        }
        else{
            $return[$key] = trim($values);
        }
    }
    return $return;
}

// Usage.
$_POST = trim_recursive($_POST);

<强>输出

// Output before trim.
array(5) {
  [1]=>
  string(4) "one "
  [2]=>
  string(4) " two"
  [3]=>
  array(1) {
    [0]=>
    string(9) " three   "
  }
  [4]=>
  array(1) {
    [0]=>
    array(1) {
      [0]=>
      string(5) " four"
    }
  }
  [5]=>
  array(1) {
    [0]=>
    array(1) {
      [1]=>
      array(1) {
        [3]=>
        string(5) "five "
      }
    }
  }
}

// Output after trim.
array(5) {
  [1]=>
  string(3) "one"
  [2]=>
  string(3) "two"
  [3]=>
  array(1) {
    [0]=>
    string(5) "three"
  }
  [4]=>
  array(1) {
    [0]=>
    array(1) {
      [0]=>
      string(4) "four"
    }
  }
  [5]=>
  array(1) {
    [0]=>
    array(1) {
      [1]=>
      array(1) {
        [3]=>
        string(4) "five"
      }
    }
  }
}