PHP

PHP 可变函数

2020-04-24  本文已影响0人  887d1fc86fe6
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <?php
  function f1() {
    echo 'dzm';
  }
  function f2() {
    echo 'xyq';
  }
  $f = 'f1';
  $f(); // 调用了函数 f1();
  $f = 'f2';
  $f(); // 调用了函数 f2();
  $f = 'f3';
  $f(); // 会报错,因为没有定义 f3(); 这个函数
  ?>
</body>
</html>

案例:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <?php
  function do_jpg() {
    echo '<br>处理jpg图片.....';
  }
  function do_gif() {
    echo '<br>处理gif图片.....';
  }
  function do_png() {
    echo '<br>处理png图片.....';
  }
  // strrchr(string $haystack, mixed $needle)
  echo strchr('abcde', 'c'); // cde
  echo strchr('abcdabcd', 'c'); // cdabcd
  echo strchr('123123', '2'); // 23123

  // 截取字符串 substr(字符串, 位置, 长度(可选)): 去除字符串从位置开始之后指定长度的字符串
  echo substr('abcde', 2); // cdes
  echo substr('abcdabcd', 2, 3); // cda
  echo substr('123123', 1, 2); // 23

  // 用户上传的文件名, 比如 123.jpg, 456.gif ...
  $file = $_GET['file_name'];
  $fileSuffix = strrchr($file, '.'); // .jpg .gif ...
  $fileSuffix = substr($fileSuffix, 1); // jpg gif ...
  $func_name = 'do_' . $fileSuffix;
  $func_name();
  ?>
</body>
</html>
上一篇 下一篇

猜你喜欢

热点阅读