【问题标题】:PHP function definitionPHP函数定义
【发布时间】:2023-03-17 10:58:01
【问题描述】:

我创建了一个 php 函数 countResponses,它接受一组反馈语句并显示该语句发生了多少次

$responses=array('Good','Good','OK','Bad','Good');
print "Number is ".countResponse('Good',$responses);

这是 countResponses 的定义,但不确定是否正确

function countResponse($a,$e){
$countNumber=1;
foreach($a as $responses){
  if($responses = $u) {$count=$count++};
  };
return countResponses;
}

有什么帮助吗?谢谢

【问题讨论】:

  • if($responses = $u) {$count=$count++}; 将始终为真,因为您正在分配一个变量而不是进行比较。请改用==
  • 你有很多语法错误。您甚至对此进行了测试吗?
  • 我是新手,目前无法测试。如果有人可以制作正确的版本,我将不胜感激
  • StackOverflow 不是代码编写服务。测试一下,如果您仍然遇到问题,请编辑问题以询问有关您遇到的问题的具体问题

标签: php function definition


【解决方案1】:

你的参数有问题。

您调用像countResponse('Good',$responses) 这样的函数,首先使用表达式,然后使用数组。但是,您的函数是function countResponse($a,$e),其中数组第一,表达式第二。此外,您在代码中使用 $u 而不是 $e。你有分号问题,如.{$count=$count++}; 所示。锦上添花的是您返回函数的名称(种类)return countResponses;

我不相信你真的测试过这段代码,但让我们修复它:

function countResponse($a,$e)
{
    $count = 0;
    foreach($a as $responses)
    {
        if($responses == $e)
        {
            $count++;
        }
    }
    return $count;
}

请注意,还有其他方法可以搜索数组以获取元素的出现次数,但这取决于您进行调查。对于摆在你面前的问题,超出了本题的范围。

你可以这样调用你的函数:

countResponse($responses,'Good')

【讨论】:

    【解决方案2】:

    试试这个

    function countResponse($a, $e){
        $count = 0;
        foreach($a as $responses){
            if($responses === $e) {
                $count++;
            }
        }
        return $count;
    }
    

    这样称呼

    $responses=array('Good','Good','OK','Bad','Good');
    print "Number is ".countResponse($responses, 'Good');
    

    【讨论】:

      猜你喜欢
      • 2012-02-09
      • 1970-01-01
      • 2013-01-05
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-07
      • 2011-06-20
      相关资源
      最近更新 更多