2012-02-19 116 views
0

我在數據庫中的字符串:3,8,10,15PHP數組值數組鍵

和在腳本我有一個數組:$a=array(0=>'music',1=>'computers'....etc),將密鑰匹配數據庫中的字符串。

然後我explode()字符串從數據庫:$a=explode(",",$dbresult) 這使得像這樣的數組:

$a = 
Array 
(
    [0] => 3 
    [1] => 8 
    [2] => 10 
    [3] => 15 
) 

在腳本:

<?PHP 
$b=array(0=>'music',1=>'Computers','...etc'); 
    $a = explode(",",$a); 
    foreach ($b as $key => $value){ 

    $select = $a==$key ? " checked='checked'" : null; 

    echo "<label><input type='checkbox' name='name' value='{$key}'$select/> {$value}; 
    }} 
?> 

這ofcourse不會因爲它的匹配$ B工作數組鍵,而不是$ a的價值

所以我的問題是..我如何使它匹配$ b鍵a獲得$ a值?

+0

我不理解到'$了'和'$ B'的關係。這些鍵是否應該在它們之間對齊,以使'$ a [0](3)'與'$ b [0](音樂)'相關? – 2012-02-19 01:18:33

+0

或者'$ a'的值是否與'$ b'的鍵有關,這樣'$ a [0](3)'涉及'$ b [3]('someotherthing'')? – 2012-02-19 01:19:32

+0

是的,$ a是$ b的鍵。 – teecee 2012-02-19 01:28:39

回答

1

您正在尋找in_array

<?php 
$b = array(0=>'music',1=>'Computers','...etc'); 
$a = explode(",", '0,3'); 
foreach ($b as $key => $value) { 
    $select = in_array($key, $a) ? " checked='checked'" : null; 

    echo '<input type="checkbox" name="name" value="' . $key . '"' . $select . '/>'; 
    echo $value; 
} 
+0

非常感謝你Phihag! :) – teecee 2012-02-19 01:29:20