我在数据库中有一个字符串: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值相匹配?
答案 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;
}