2013-05-09 90 views
2

我正在访问一个正在返回数组值的API。我想根据结果显示图像。例如,如果div包含“高于平均水平”,则显示名为aboveAverage.png的图像。PHP if语句。显示和图像如果为真

echo $cinfo['crimes']['2013-03']['anti-social-behaviour']['crime_level']; 

此结果是“高于平均水平”如何显示特定图像以对应于此?

喜欢的东西 - >

if Div "crime_level" = above average then: 
display aboveAverage.png 

我是很新,PHP,对不起,我是个菜鸟。

+3

什么样的API提供反社会行为数据? – Kermit 2013-05-09 14:51:55

+0

警察数据API(英国) – user2287868 2013-05-09 15:57:11

回答

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个不同的变量潜在的图像标签。它也可以让你迎合弦的许多不同情况,而不会以其他方式丢失。

+0

这是完美的谢谢你。 – user2287868 2013-05-09 16:04:44

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'/>" ; 
} 
+0

这不会起作用,因为他希望显示基于API返回的不同图像,在您的情况下,所有的操作都是说API的数组返回,然后显示相同的图像并为每个API返回。他希望显示aboveAverage.png以获得高于平均水平的回报,因此您可以推断他会为每笔回报做好准备。你的回答实际上并没有回答这个问题的答案,但不是答案:) – Dave 2013-05-09 15:05:20

0

一个简单的,如果和回声会做:

if ($cinfo['crimes']['2013-03']['anti-social-behaviour']['crime_level'] == "above average") { 
    echo "<img src='aboveAverage.png' /> 
} 
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

如果

$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 . " />";