我如何使用我创建的原始PHP功能?

时间:2011-07-09 17:30:47

标签: php function

我认为我拥有完成我想要做的所有事情,我只是不知道如何将它们结合起来。有人可以告诉我在哪里以及如何让它工作? 这就是我想要的和我拥有的:

我创建了两个我认为代表我想要做的功能:

  1. 一个接受2个,3个或4个参数的函数,并返回所提供参数的总和和平均值。

  2. 将任何句子字符串作为参数的函数。该函数报告字符串的长度和字符串中的单词数。如果这些单词存在于字符串中,该函数将“cat”和“dog”替换为“meow”和“bark”。修改后的字符串作为数组返回。如果找不到猫和狗,该函数应该返回消息字符串“你没有宠物”。

  3. 我希望这两个函数都用在第二个PHP文件中,该文件对第一个函数使用一些函数调用,而Redux用于获取第二个函数要检查的字符串。我想确保检测第二个函数返回的值是数组还是字符串。

    这是我的代码:

    第一个功能:

        <?php
        function sum($var1, $var2, $var3, $var4)
        {
        return $var1 + $var2 + $var3 + $var4;
        }
    
        function mean($var1, $var2, $var3, $var4)
        {
        return $var1 + $var2 + $var3 + $var4 / 4;
        }
        ?>
    

    第二功能:

        <?php
        function phptest($input) {
        $search = array('meow', 'bark');
        $replace = array('cat', 'dog');
        $output = str_ireplace($search, $replace, $input, $replace_count);
        if ($replace_count === 0) {
        return false;
        } else {
        return explode(' ', $output);
        }
        }
    
        $result = phptest($input_string);
        if ($result === false) {
        echo 'You have no pets';
        } else {
        var_dump($result);
        }
        ?>
    

    页面我必须处理我的功能:

        <?php
        require('myfunctions.php');
        ?>
    
        <form action="" method="post">
        <input name="input" type="text" size="20" maxlength="20" />
        <input name="submit" type="submit" value="submit" />
        </form>
    

    非常感谢!

5 个答案:

答案 0 :(得分:1)

如果您希望您的功能可用于多个文件,那么您拥有的功能是正确的。将PHP函数放在'myfunctions.php'文件中,并在要使用它们的页面上要求它。然后你就可以像对待任何其他功能那样打电话给他们:

<?php echo sum(1,2,3,4); ?>

输出10。

答案 1 :(得分:1)

你的表单不需要php代码片段,它需要动作,即处理输入的脚本,即

<form action="doStuff.php" method="post">

然后在doStuff.php文件中有类似

的内容
<?php
require_once('myfunctions.php');
// read the value enterd by the user into variable
$input = $_REQUEST['input'];
// call your function with the value
phptest($input);
?>

答案 2 :(得分:1)

如果您真的想要打动您的主人,请创建求和函数,使其接受任意数量的参数:

    <?php  
    //THE FUNCTION
    function summation() 
    {
        $sum = 0;
        for ($i=0; $i<func_num_args(); $i++) $sum+= func_get_arg($i);
        return $sum;  
    }  
    //THE IMPLEMENTATION
    echo summation(1,5,7); //echo's 13
    echo summation(1,5,6,8) //echo's 20
    ?>

或者,您可以使用PHP的本机array_sum函数:

<?php
$a = array(2, 4, 6, 8);
echo array_sum($a); //echo's 20
?>

至于你的phptest()函数......我建议将它命名为不太宽泛的东西。进入草率的命名惯例是一个坏习惯;但它看起来很实用。

您可以在PHP's $_POST[] array中找到发布的信息。

答案 3 :(得分:0)

加载所需的php文件后(最好是require_once,你没有全局代码,是吗?)你可以像访问本地定义的函数一样访问函数。

if (isset($_POST['input'])) {
  phptest($_POST['input']);
} else {
  /...
}

答案 4 :(得分:0)

myfunctions.php:

<?php
function sum($var1, $var2, $var3, $var4)
{
return $var1 + $var2 + $var3 + $var4;
}

function mean($var1, $var2, $var3, $var4)
{
return $var1 + $var2 + $var3 + $var4 / 4;
}

function phptest($input) {
$search = array('meow', 'bark');
$replace = array('cat', 'dog');
$output = str_ireplace($search, $replace, $input, $replace_count);
if ($replace_count === 0) {
return false;
} else {
return explode(' ', $output);
}
}

?>

页面你必须处理你的功能:

<?php
require('myfunctions.php');
if($_POST) {
    $result = phptest($_POST['input']);
    if ($result === false) {
        echo 'You have no pets';
    } else {
        var_dump($result);
    }
}
?>

<form action="" method="post">
<input name="input" type="text" size="20" maxlength="20" />
<input name="submit" type="submit" value="submit" />
</form>