2013-05-09 89 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 . " />";