【问题标题】:PHP exit out of the current script [duplicate]PHP退出当前脚本[重复]
【发布时间】:2014-05-01 03:26:55
【问题描述】:

如何退出当前的 php 脚本?

例如:

page.php

<?php
    include('./other-page.php');
?>
<h4>this text always shows</h4>

其他页面.php

<?php
    if($_GET['v'] == 'yes'){
        //this is the code I want
    }
?>
<h1>you did not say yes <!-- There is an entire html page here in the real program-->                   

</h1>

我想让以下输出发生

index.php?v=yes:

<h4>this text always shows</h4>

index.php?v=whatever

<h1>you did not say yes <!-- There is an entire html page here in the real program-->
<h4>this text always shows</h4>

基本上,我想要一个退出当前文件的函数(跳到末尾),但继续处理包含它的文件。

【问题讨论】:

  • 阅读 php 文档。您可以使用返回
  • 是的,这是个骗子。而且我阅读了文档,我只是不太擅长在其中找到东西。
  • 好的,无论如何您也可以使用 return 从 include 中返回值。喜欢。 $foo = include('bar.php'); // has what bar.php returns (return)

标签: php html exit die


【解决方案1】:

您可以尝试将您的 PHP 代码放在您的 HTML 代码中,如下所示:

<?php
    if($_GET['v'] != 'yes'){
?>
<!-- ENTER HTML CODE HERE -->
<?php
    }
?>

【讨论】:

  • 完全忘记了这一点,但是如果您阅读 cmets,您会发现我已经得到了答案,因为这个问题是重复的。不过,您仍然会得到(来自我的)赞成票,因为这非常聪明,可以解决我的问题。
  • 啊,我发布答案时一定错过了评论,但感谢您的支持!很高兴你让它工作:)
【解决方案2】:

other-page.php

<?php
if($_GET['v'] != 'yes'){
    echo '<h1>You did not say yes.</h1>';
}
?>

还是我误解了你的问题?基本上你可以重组不同的块以避免退出。

【讨论】:

  • 你误会了,因为在完整的网站上(不打算在这里发布,太大了)。这不仅仅是“你没有说是”,它是一个大约 500 行的 html 页面,在 echo 语句中很难维护。
  • @john01dav 也...不要在 echo 中放置 500 甚至 5 行 html...实际上不要将 html 放在您的 php 中。
  • 500行的html文件是条件为假时需要阻止输出的内容。另外:这是一个重复的问题,所以我得到了答案。它是返回;。
  • 我的回答基本上是:如果if(true) 不满足您,请尝试改用if(false)。确保您不能更改代码的结构(当然可以,考虑到 PHP 脚本并不意味着在常见的执行过程中退出)。另外,您可以将 HTML 代码放在 PHP 标记之间(参见 aashnisshah 的回答),或者更好:使用 Twig 等模板系统。
  • 这不适用于我当前代码更复杂的结构。
猜你喜欢
  • 2019-07-05
  • 2013-03-20
  • 2012-04-05
  • 1970-01-01
  • 2020-10-19
  • 2014-02-26
  • 2013-11-02
  • 1970-01-01
  • 2012-10-21
相关资源
最近更新 更多