for($check = 0; $check<12;$check++)
{
echo "<strong>" .$cars[$check] .":</strong>";
foreach($models as $model)
{
if ( stristr($model, $cars[$check]))
{
echo $model;
}
}
}
$ cars是一个包含12个车辆制造的阵列,$ model是一个大型阵列(约3000个元素),其中包含许多不同车型的车型。 我希望我的代码可以回显模型名称,如果它可以找到汽车的名称($ cars [$ check])。问题是它没有返回任何内容,但是如果我用“BMW”这样的静态字符串替换if函数中的“$ cars [$ check]”,那么返回包含字符串“BMW”的模型没有问题。我尝试了几个小时,并在互联网上搜索,无法找到解决方案。代码有问题,或者以错误的方式解决了这个问题?
答案 0 :(得分:2)
您也可以尝试使用foreach
作为汽车模型,并使用密钥代替$check
:您与密钥和值保持自然关联,这样您就无法破解它让$check
成为未定义的索引(在某些情况下杀死你的PHP执行)
foreach($cars as $check => $car) {
echo "<strong>" . $car . "</strong>";
foreach($models as $model) {
if(stristr($model, $car))
echo $model;
}
}
- 编辑 - 如果您只希望为每辆车分配一个型号,而且您有很多型号,则应在continue
之后使用echo $model
来减少服务器处理。这将跳过汽车的 foreach循环的迭代,然后继续下一步。
if(stristr($model, car)) {
echo $model;
continue 2;
}