我有以下数组:
$historicalFullList = ['Fecha','H-kWH-Total','H-kWH-Pico','H-kWH-Resto','H-kWH-Valle','H-Acum-Pico','H-Acum-Resto','H-Acum-Valle','H-Fecha-Pico','H-Fecha-Resto','H-Fecha-Valle','H-kW-Pico','H-kW-Resto','H-kW-Valle','H-kVARH-Total','error','factMult','H-kW-Pico-C','H-kW-Resto-C','H-kW-Valle-C'];
我想创建一个函数来查找数组中是否存在子字符串'H-k'。 (在此示例数组中,它应返回TRUE)
由于某种原因,以下代码不起作用。有更好的方法吗?
function test($substring, $array){
foreach ($array as $item){
if (strpos($substring, $item)!== false){
return true;
}else{
return false;
}
}
}
然后叫它..
if (test('H-k',$historicalFullList)){
do stuff...
}
答案 0 :(得分:4)
将你的返回false移出foreach,否则如果它不包含$substr
,它将在第一次比较后返回false。
function test($substring, $array){
foreach ($array as $item){
if (strpos($item,$substring)!== false){
return true;
}
}
return false;
}
此外,将针和大海捞针交换为strpos。