我有两个文件:
condition.php持有一些switch语句。我只写了一个案例,但是有20多个案例。我是否在index.php中包含另一个文件来显示输出。我的代码是:
//index.php
<?
$xml = simplexml_load_file('http://www.google.com/ig/api?weather=dhaka');
$information = $xml->xpath("/xml_api_reply/weather/forecast_information");
$current = $xml->xpath("/xml_api_reply/weather/current_conditions");
$forecast_list = $xml->xpath("/xml_api_reply/weather/forecast_conditions");
?>
<html>
<head>
<title>Google Weather API</title>
</head>
<body>
<h1><?= print $information[0]->city['data']; ?></h1>
<h2>Today's weather</h2>
<div class="weather">
<?php
include 'condition.php';
?>
<span class="condition">
<?= $current[0]->temp_f['data'] ?>° F,
<?= $current[0]->condition['data'] ?>
</span>
</div>
</body>
</html>
这里是condition.php
switch ($cond)
{
case "Mostly Cloudy":
$col="/test/images/weather/mostly_cloudy.png";
echo "<img src=\"$col\" alt=\"\"/>";
break;
case "Thunderstorm":
$col="/test/images/weather/thunderstorm.png";
echo "<img src=\"$col\" alt=\"\"/>";
break;}
我发了2例,但有20多例。
答案 0 :(得分:2)
您正在使用<?php include("condition.php"); ?>
以正确的方式执行此操作,您需要做的就是定义$cond
,以便切换实际执行某些操作。或者你可以从condition.php创建一个函数并以这种方式使用它。这可能是一种“更清洁”的工作方式。
示例:
<?php
$cond = "Thunderstorm";
include 'condition.php';
?>
答案 1 :(得分:2)
include
函数包含来自包含脚本的代码,就好像它是在那里写的一样,只要你在$cond
语句之前声明include
变量,这应该有效细
答案 2 :(得分:1)
如果我理解正确,您需要一个可以多次重复使用的功能:
所以你的condition.php
应该是:
function outputWeather($cond){
switch ($cond) {
case "Mostly Cloudy":
$col="/test/images/weather/mostly_cloudy.png";
echo "<img src=\"$col\" alt=\"\"/>";
break;
case "Thunderstorm":
$col="/test/images/weather/thunderstorm.png";
echo "<img src=\"$col\" alt=\"\"/>";
break;
}
}
在index.php
中加入,只需在循环中调用函数:
<?php outputWeather($current[0]->condition['data']); ?>
答案 3 :(得分:-1)
您可以像使用include()一样在PHP中包含页面。
请确保您在$cond
中使用的conditions.php
变量在index.php
之前包含中定义,或在{{{}}中定义1}}本身。
conditions.php
无论如何,包含的行为就好像你所包含的代码实际上是在你包含它的地方写的,因此在<?php
include('condition.php');
?>
的同一位置。