我怎么把它变成一个函数?

时间:2014-09-24 08:38:53

标签: php

大家好我是php新手。我在将此代码放入函数时遇到一些麻烦,任何人都可以解释或说明如何执行此操作?因为这段代码将不止一次使用

 foreach($_POST as $weather_key => $weather){
     $for_now=is_array($weather) ? $weather : trim($weather));
     if(empty($temporary) && in_array($key,$required_weather_fields)){
        $weather_errors[]=$weather;
        $$weather_key='';
     }elseif(in_array($weather_key,$expected_weather_fields)){
        $$weather_key=$for_now; 
     }
 }

2 个答案:

答案 0 :(得分:0)

看起来你没有任何参数,所以你只需写下这样的东西:

function weather_function() {
    foreach($_POST as $weather_key => $weather) {
        $for_now = is_array($weather) ? $weather : trim($weather));
        if(empty($temporary) && in_array($key, $required_weather_fields)) {
            $weather_errors[] = $weather;
            $$weather_key = '';
        } elseif(in_array($weather_key, $expected_weather_fields)) {
            $$weather_key = $for_now; 
        }
    }
}

然后当你想要使用它时:

weather_function();

答案 1 :(得分:0)

这样的事情应该有效:

function weather($data, $required_weather_fields, $expected_weather_fields, $temporary) {
 foreach($data as $weather_key => $weather){
     $for_now=is_array($weather) ? $weather : trim($weather));
     if(empty($temporary) && in_array($weather_key,$required_weather_fields)){
        $weather_errors[]=$weather;
        $$weather_key='';
     }elseif(in_array($weather_key,$expected_weather_fields)){
        $$weather_key=$for_now; 
     }
 }

 return array($$weather_key, $weather_errors);
}

list($key, $errors) = weather($_POST);

您应该注入$ _POST数组,而不是在函数内引用它。

相关问题