PHP explode - running loop through each array item
Вот проблема:
I retrieve the following data string from my database:
$row->exceptions = '1,2,3';
После explode
I need the below code to check each one of the exploded pieces
$exceptions = explode(",", $row->exceptions);
//result is
//[0] => 1
//[1] => 2
//[2] => 3
for ($i = 0; $i <= $row->frequency; $i++) {
if ($exceptions[] == $i) {
continue;
} else {
//do something else
}
}
Как я могу сделать $exceptions[]
loop through all keys from the exploded array so it evaluates if ==$i
?
Спасибо за помощь.
3 ответа
Решение
Достаточно заменить:
if($exceptions[] == $i)
с:
if(in_array($i,$exceptions))
Кстати, это устраняет необходимость во вложенном цикле.
Ах, должно быть просто, нет?
$exceptions = explode(",", $row->exceptions);
for ($i = 0; $i <= $row->frequency; $i++) {
foreach($exceptions as $j){
if($j == $i){
// do something
break;
}
}
}
Я думаю, я понимаю, что вы спрашиваете. Вот как вы можете проверить в этом цикле, равен ли ключ $i
,
for ($i = 0; $i <= $row->frequency; $i++)
{
foreach ($exceptions as $key => $value)
{
if ($key == $i)
{
continue;
}
}
}