2011-07-25 36 views
0

我通過$_GET['value']獲取數據,我希望該值表示數組的變量。

我正在通過帶3個選項的下拉菜單進行排序。

我想搜索一個數組進行匹配。

因此,如果$_GET['value'] == 'name' 那麼我想搜索我的陣列'name'並使用該值作爲發送到我的查詢的數據。

排序:

<select name='1' value='name'>Name</select> 
<select name='1' value='manufacturer'>Brand</select> 

所以當PHP得到選擇菜單的值我想做爲名稱的數組搜索和使用它的值來表示一個變量被髮送到我的查詢。

+0

顯示你的HTML,它會更有意義 – Ibu

回答

1

確定是否在$_GET接收到的值是數組中,然後通過索引檢索它。

// Your values are stored in this array 
$your_array = array("name" => "some name", "place" => "some place"); 

// Check if the `value` is a key in your array 
if (array_key_exists($_GET['value'], $your_array)) { 
    $search_value = $your_array[$_GET['value']]; 
} 
else { 
    // Not found.. Use some default value instead. 
} 
+0

@RPM這是一個錯字!它應該是'$ your_array [$ _ GET ['value']]'固定在上面。這樣,它會發現GET –

+0

中傳遞的任何密鑰感謝我發現這是一個非常有用的函數,因爲它不是數據庫的活動查詢是預先定義的 –

0

可以檢查該值是否在數組中,通過使用in_array()方法

實施例:

$yourArray = array(...); 

if ($_GET['value'] == 'name') { 
    if (in_array($theName,$yourArray)) { 
     // build your query 
    } 
} 
0
if (isset($_GET['value'])) { 
    if ($value = $your_array[$_GET['value']]) { 
     //do something by this $value 
    } 
} 
else { 
    echo 'nothing'; 
} 
相關問題