我正在访问返回数组值的API。我希望根据结果显示图像。例如,如果div包含“高于平均值”,则显示名为aboveAverage.png的图像。
echo $cinfo['crimes']['2013-03']['anti-social-behaviour']['crime_level'];
此结果为“高于平均水平”如何显示与此对应的特定图像?
像 - >
之类的东西if Div "crime_level" = above average then:
display aboveAverage.png
我对PHP很新,抱歉我是菜鸟。
答案 0 :(得分:3)
使用案例选择开关
switch ($cinfo['crimes']['2013-03']['anti-social-behaviour']['crime_level']) {
case "Above Average":
$image = "aboveAverage.png";
break;
case "Below Average":
$image = "belowAverage.png";
break;
default:
$image = "unknown.png";
};
echo "<img src=\"$image\" />";
这样做可以让您通过将变量设置为$ image来从显示中删除逻辑,这样您就不必更新20个不同的潜在图像标记。它还允许你迎合字符串的许多不同情况,而不会因为其他地狱而丢失。
答案 1 :(得分:3)
如果值为
$cinfo['crimes']['2013-03']['anti-social-behaviour']['crime_level']
是有限的,你碰巧知道它们你可以使用一个关联数组,其中键是API返回的值,该键的相应值将是你想要显示的图像的文件名。类似的东西:
$images = array(
'Above Average' => 'aboveAverage.png',
'Below Average' => 'belowAverage.png',
// etc
);
$img = 'default.png'; // set a default image file
$crimeRate = $cinfo['crimes']['2013-03']['anti-social-behaviour']['crime_level'];
if (array_key_exists($crimeRate, $images)) {
$img = $images[$crimeRate];
}
// output the image
echo "<img src=" . $img . " />";
答案 2 :(得分:1)
您的问题分为两部分。第一个是如何将数组元素与字符串进行比较。这是这样完成的:
if ( $cinfo['crimes']['2013-03']['anti-social-behaviour']['crime_level'] == "Above average" ) {
// The second part of your question is how to display an image.
echo '<img src="aboveAverage.php" />;
}
还有其他方法可以通过PHP脚本显示图像,例如设置适当的标题并直接转储图像内容。如果您正在寻找此类解决方案,请参阅Output an Image in PHP。
答案 3 :(得分:0)
以下是一些方法:
$toDisplay = array("Above average", "Average") ;
if (in_array($cinfo['crimes']['2013-03']['anti-social-behaviour']['crime_level'], $toDisplay)){
echo "<img src='image.png' alt='image'/>" ;
}
答案 4 :(得分:0)
一个简单的if和echo将会:
if ($cinfo['crimes']['2013-03']['anti-social-behaviour']['crime_level'] == "above average") {
echo "<img src='aboveAverage.png' />
}