PHP根据变量在命令之间交替

时间:2019-01-16 14:49:11

标签: php

我正在尝试构建HTML,而不必重复代码。 基本上,我可以选择打印或保存到文件;选项将通过$_GET传递。

我在一个csv中循环,因此HTML接收到很多变量。

我想到了一个可变的$ action;

If $action == 'view' then

    echo "<h1>Hello World</h1>";

If $action == 'save' then

    file_put_contents($file,"<h1>Hello World</h1>", FILE_APPEND);

我不喜欢必须重复代码的想法,其中一部分使用echo,另一部分使用file_put_contents

我知道这是完全错误的,只是试图给出一个主意,有没有一种方法可以像这样设置变量?

if ($action == "view") {$start = 'echo'; $end = ';';}
elseif ($action == "save") {$start = 'file_put_contents($file,'; $end = ', FILE_APPEND);';}

$start "<h1>Hello World</h1>" $end

1 个答案:

答案 0 :(得分:5)

您的代码完全错误,语法错误。

但是您可以这样做:

$str = '<h1>Hello World</h1>';

switch ($action) {
    case 'view':
        echo $str;
        break;
    case 'save':
        file_put_contents($file, $str, FILE_APPEND);
        break;
    default:
        throw new Exception('Invalid action');
}