2012-02-19 107 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