我如何编写一个能够处理数组中数据的函数?
我的意思是,我可以使用
function CheckStuff($_POST){}
而不是
function CheckStuff($_POST['var1'], $_POST['var2']){}
我要问的原因是我需要函数来处理存储在数组中的所有值,并且有很多。
答案 0 :(得分:6)
不确定
function CheckStuff($arr) {
foreach($arr as $key => $val) {
//...
}
}
答案 1 :(得分:2)
结帐array_filter()。您可以定义一个函数,然后通过array_filter()
传递数组的每个值,并只返回您需要的值:
function verifyData($item)
{
//do some stuff
return ($item_is_good) ? true : false;
}
$goodValues = array_filter($_POST,'verifyData');
如果您只想根据某些条件修改$ _POST的每个值,可以使用array_map():
function doSomeStuff($item)
{
$item = $item++;
}
$output = array_map($_POST,'doSomeStuff');
//all of the values in $_POST have now had 1 added to them
答案 2 :(得分:1)
我使用类似下面的内容来遍历未知数量的数组项。
while( list( $field, $value ) = each( $_POST )) {
// do something with each array element value
myFunction( $value );
}
更多关于list()函数的信息:
http://www.w3schools.com/PHP/func_array_list.asp
关于each()函数的更多内容: