я сделал 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;
}
Любая помощь, пожалуйста? Спасибо
У вас есть некоторые проблемы с вашими параметрами.
Вы называете функцию как 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')
Попробуй это
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');