php数组值再次匹配数组键

时间:2012-02-19 01:13:56

标签: php arrays

我在数据库中有一个字符串:3,8,10,15

在脚本中我有一个数组:$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};
    }}
?>

由于它匹配$ b数组键而不是$ a

的值,因此该函数不起作用

所以我的问题是..如何使$ b键与$ a值相匹配?

1 个答案:

答案 0 :(得分: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;
}