2014-01-17 3 views
0

У меня есть для цикла

for($i=0;$i<$n;$i++) 
($n equals 100) 

и массив, содержащий значения.

$BidsEachHour = array(4,8,13,17......96) 

То, что я хочу сделать, что для каждого $ я равна $ BidsEachHour это сделать конкретную проверку.

Как я могу проверить, равен ли $ i $ BidEachHour за каждое значение $ BidEachHour?

for($i=0;$i<$n;$i++) { 
    if(in_array($i,$BidsEachHour)) { 
     echo "Yeah, found ".$i." in array!"; 
    } 

Не работает.

Подробнее:

$BidsEachHour[] = Hourlybids(); 

Функция

Function Hourlybids(){ 
Global $tagloads; 
$BidsEachHour = array(); 

for($k=0; $k < 24; $k++){ 
$BidsEachHour[$k] = round($k/24*$tagloads); 
} 
//var_dump($BidsEachHour); 
Return $BidsEachHour; 
} 
+5

'если (in_array ($ я, $ BidsEachHour)) {' - http://uk1.php.net/in_array –

+0

@Titanium не работает, но спасибо. – Kevin

+0

Технически это невозможно. '$ i' является целым числом, тогда как' $ BidEachHour' является массивом. Они никогда не будут равными. Вероятно, вы пытаетесь сделать то, что уже сказал @Titanium. – thpl

ответ

6

Вы можете просто использовать функцию in_array.

for($i=0;$i<$n;$i++) { 
    if(in_array($i,$BidsEachHour)) { 
     echo "Yeah, found ".$i." in array!"; 
    } 
} 

Edit:

$BidsEachHour[] = HourlyBids() 

должен быть

$BidsEachHour = HourlyBids() 
+0

Не дал мне никаких результатов. Это ничего не дает, но не дает мне никаких ошибок. – Kevin

+0

Можете ли вы опубликовать фрагмент кода, что вы пробовали? Он должен работать, как я уже сказал. –

+0

Я сам пытался in_array и был удивлен, что он не работает. Я еще не проверил какие-либо проверки. Просто скопируйте код в мой цикл for. Какой фрагмент кода вы хотите посмотреть? – Kevin

-1

Почему прямо не зацикливание по массиву?

foreach($BidsEachHour AS $k) { 
    // $k will contain 4,8,13,17......96 
    // do a specific check 
} 
+0

Возможно, но исключить проверку "else" –

Смежные вопросы