比较两个列表

时间:2013-11-20 09:48:18

标签: php

$int = $r_bio['interested'];
$int2 = explode(":", $int);
$pref = array("Apple", "Orange", "Banana", "Cips", "House", "Tank");
$a = 0;
$z = 0;
for($i = 0; $i <= 5; $i++)
{
if($int2[$i] == $pref[$a])
{
    echo "<input type=checkbox checked name=pref value=$pref[$a] />$pref[$a]";
}
elseif($i >= 5)
{
    $z++;
    $a++;
    $i = 0;
}
elseif($z == 5)
{
    break;
}
}

所以我有一个数据库表,其中包含pref [array]中的两个项目(apple和tank)

我希望将该列表与pref [array]进行比较,如果其中一些是相同的echo,则选中复选框

问题是我只得到第一项

3 个答案:

答案 0 :(得分:0)

尝试这样的事情:

$array1 = array('Apple','02a','009','Orange','Cips','AZ');
 $pref = array("Apple", "Orange", "Banana", "Cips", "House", "Tank");

foreach ($array1 as $testcase) {
    if (in_array($testcase, $pref)){
       echo "<br /><input type='checkbox' checked='checked' name='pref' value='".$testcase."' />".$testcase;
    }else{

         echo "<br /><input type='checkbox' name='pref' value='".$testcase."' />".$testcase;
    }
}

答案 1 :(得分:0)

试试这个:

$int = $r_bio['interested'];
$int2 = explode(":", $int);
$pref = array("Apple", "Orange", "Banana", "Cips", "House", "Tank");

foreach($int2 as $i)
{
foreach($pref as $pr)
{
if($int2[$i] == $pr)
{
echo "<input type=checkbox checked name=pref value=$pref[$a] />$pref[$a]";
}
}
}

答案 2 :(得分:0)

你可以试试这个:

$int = $r_bio['interested'];
$int2 = explode(":", $int);
$pref = array("Apple", "Orange", "Banana", "Cips", "House", "Tank");

for($i = 0; $i < sizeof($int2); $i++)
{
    for($j=0;$j< sizeof($pref);$j++)
    {
        if($int2[$i] == $pref[$j])
        {
            echo "<input type='checkbox' checked name='pref' value='$pref[$j]' />$pref[$j]";
            break;
        }
    }
}

它会帮助你