PHP Break Case在“break”之后没有结束语句

时间:2017-09-17 21:55:11

标签: php function switch-statement return

在以下功能中,如果输入为蓝色,则表示结果为:“标题内容在此处显示您最喜欢的颜色为蓝色!”而它应该给 - “你最喜欢的颜色是蓝色!”,请帮我纠正它。如果输入为红色,那么它在此结束语句为:“标题内容在此处”,这是正确的。

请原谅我,如果我问愚蠢的问题,因为我是PHP的新手,我不知道在交换机情况下是否可以使用函数作为变量。

test1.php

<?php
function header2() { ?>
   header content goes here
<?php }

$good =header2();
$Input2 = $_POST['input'];

switch ($Input2) {
    case "red":
        echo $good;
        break;
    case "blue":
        echo "Your favorite color is blue!";
        break;
    case "green":
        echo "Your favorite color is green!";
        break;
    default:
        echo "Your favorite color is neither red, blue, nor green!";
}
?>

main.js

$('[id=stringone]').click(function(){
var string =$('[id=stringotherone]').val();
$.post('test1.php',{input: string}, function(data){
$('[id=stringotherthanone]').text(data);
});
});

test.php的

 <! doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="css/hwcb.css">
</head>
<body>
    <input type="button" value="Go" id="stringone">
  <input type="text" id="stringotherone"/>
  <p><div id="stringotherthanone"></div></p>
  <script src="jquery.js"></script>
<script src="js/css.js"></script>
<script src="main.js"></script>
  </body>
  </html>

2 个答案:

答案 0 :(得分:3)

您需要在函数中return,否则在调用函数时输出。

示例:https://3v4l.org/1Ptmlhttps://3v4l.org/ug778

$good =header2();正在输出header content goes here,而不是echo $good;中的switch。这实际上什么也没做,因为该变量是空的。

答案 1 :(得分:1)

更改

<?php
function header2() { ?>
   header content goes here
<?php }

<?php
function header2() { 
   return 'header content goes here';
}