创建用户定义的函数

时间:2019-02-25 20:03:01

标签: php

我应该创建一个使用2个参数的函数。这两个参数都是字符串。参数之一是文本,另一个参数是字母,AB。如果是A,则需要使用文本的内置PHP函数将大小写更改为大写。如果是B,我需要使用文本的内置PHP函数将大小写更改为小写。

我知道我必须使用elseif语句。

function paint($case, $str)
{
  if $case = A echo $sentence ($str);
  else echo upper($str);
}

$sentence = "Placeholder text here.";
paint("a", $sentence);
paint("b", $sentence);

1 个答案:

答案 0 :(得分:0)

您应该使用switch..case语句

function paint($case, $str)
{
  switch (strtolower($case))
  {
    case 'a': $str = strtoupper($str);
    break;

    case 'b': $str = strtolower($str);
    break;
  }
  echo $str;
}

$sentence = "Placeholder text here.";
paint("a", $sentence);        // PLACEHOLDER TEXT HERE.
paint("b", $sentence);        // placeholder text here.
paint("nonsense", $sentence); // Placeholder text here.

或者如果您想在没有给出“ a”和“ b”的情况下抛出异常,请将switch块更改为:

switch (strtolower($case))
{
  case 'a': $str = strtoupper($str);
  break;

  case 'b': $str = strtolower($str);
  break;

  default :
    throw new \InvalidArgumentException('First argument of function "' . __FUNCTION__ . '" is expected to be a string either "a" or "b".');
}

switch .. case构造是多个if .. elseif .. else语句的另一种形式,但条件是入口点。如果您不使用显式break语句,则执行将进入下一种情况。如果没有其他匹配的情况,则default是切入点。