2014-06-13 21 views
0

我正在導入一個產品列表,並且每個項目都有一個部門編號。每個數字與部門相關,即最好的PHP函數輸出多種選擇

  1. 手槍
  2. 用手槍
  3. 二手長槍
  4. 泰瑟槍
  5. 體育長槍

共有43個部門。我只想做一個長期if語句,如:

`<?php 
if ($var = 1) 
echo "Handguns"; 
else 
if ($var = 2) 
echo "Used Handguns"; 

等..... >`

編輯:?我能得到的,如果這樣的語句來工作:

function test($cat) { if ($cat = 33) echo "Clothing"; }

但使用任何這樣的陣列:

`$部門= [ 33 =>服裝, ];

function getDepartment($ id,$ departments){ echo $ departments [$ id]; }`

我一直無法得到這個工作。我使用wordpress並將其放在functions.php中,並從插件中調用該函數。

我應該堅持一個大的if語句嗎?

第二編輯:明白了通過包括該函數內的陣列的工作:

function getDepartment($id, $departments) { 

$departments = [ 
"1" => "Handguns", 
"2" => "Used Handguns", 
"3" => "Used Long Guns", 
"4" => "Tasers", 
"5" => "Sporting Long Guns", 
"6" => "SOTS ", 
... 
"41" => "Upper Receivers/Conv Kits", 
"42" => "SBR Barrels and Uppers ", 
"43" => "Upper/Conv Kits High Cap" 
]; 

    if (isset($departments[$id])) { 
     return $departments[$id]; 
    } 
    return 'Uncategorized'; 
} 

和內部wpallimport,類別呼叫看起來喜歡這樣:[getDepartment({column_4 [1]})]

+0

產品列表是如何存儲的?在數據庫中?在一個文本文件?作爲一個數組? –

+0

@Amal我正在使用Wordpress,所以函數將放在functions.php中,並將從插件中調用...由於插件的工作原理,我認爲我只能有一個變量。 – Alteredorange

回答

2

使用其ID作爲數組鍵,創建一個部門數組。然後你可以使用基本的數組變量語法訪問它們:

$departments = array(
    1 => Handguns, 
    2 => Used Handguns, 
    3 => Used Long Guns, 
    4 => Tasers, 
    5 => Sporting Long Guns 
); 

$var = 2; 
echo $departments[$var]; // prints "Used Handguns" 

你可以構造這個數組,但不管你喜歡。它可以在配置文件中進行硬編碼,或者更可能由SQL查詢創建。

只要確保密鑰存在於您的數組之前您嘗試訪問它,否則您會收到未定義的索引錯誤消息。你可能會明智地把它放在一個函數中,這樣你就可以抽象這個代碼,並減少每次嘗試訪問這個數組時重複的代碼。

function getDepartment($id, $departments) { 
    if (isset($departments[$id])) { 
     return $departments[$id]; 
    } 
    return 'Invalid Department'; // or whatever you want if the value doesn't exist 
} 

echo getDepartment(2); // prints "Used Handguns" 
+0

謝謝!我正在嘗試它! – Alteredorange

+0

Blarg,好吧,顯然我不能直接將數組放在functions.php中? (我正在使用wordpress)。哪裏將放置陣列最簡單的地方? – Alteredorange

+0

我把以下內容放在我的functions.php文件中,它所返回的內容都是「未分類」類別...任何想法有什麼不對?函數getDepartment($ id,$ departments){ if(isset($ departments [$ id])){ return $ departments [$ id]; } return'Uncategorized'; //或者任何你想要的,如果值不存在 } $部門= [ 33 =>服裝, ]。 – Alteredorange