【发布时间】:2015-08-25 08:42:54
【问题描述】:
我有 2 个来自数据库的爆炸数组。这就是我所做的。
$searches = explode(',', $searchengine);
$icons = explode(',', $icon);
$b = count($searches);
$c = count($icons);
我还制作了一个数组来比较每个爆炸数组。
$searchesa = array("google","yahoo","bing");
$d = count($searchesa);
$iconsa = array("facebook","twitter","googleplus","linkedin","pinterest","delicious","stumbleupon","diigo");
$y = count($iconsa);
然后我使用 for 循环前往不同的数组索引。但是结果是错误的,有时我有一个错误,上面写着 UNDEFINED OFFSET。
for ($a=0; $a <$d ; $a++) {
if ($searches[$a] == $searchesa[$a])
{echo '<br>'.$searchesa[$a].': check ';
}else
echo '<br>'.$searchesa[$a].': chok ';
}
for ($x=0; $x <$y ; $x++) {
if ($icons[$x] == $iconsa[$x])
echo '<br>'.$iconsa[$x].': check ';
else
echo '<br>'.$iconsa[$x].': chok ';
}
如果数据库中的索引和我创建的数组相同,则状态检查,否则状态阻塞。
【问题讨论】:
-
未定义的偏移量?那么可能两个数组的长度不同。 c:
-
你不是在寻找类似的东西:
foreach ($array_a as $index_a => $value_a) foreach( $array_b as $index_b => $value_b) if ($value_a === $value_b) ...? -
是的,它的长度并不相同。实际上,数据库中的爆炸数组是复选框中的值。我现在正在尝试检查选择了哪些复选框,因为输出将是复选框,其中包含选中按钮的复选框和未选中的复选框@Xyv
-
结合使用
foreach、in_array和array_key_exists不是更好吗? -
你能告诉我怎么做吗?我真的不知道@Peter