FOR EACH循环的参数无效

时间:2015-05-19 17:26:57

标签: php

我在每个循环上遇到一个错误,说它得到了无效的参数。

$bidder = new MuxBidder( $mailer->bidder_id );
$today = $bidder->getTodayBoughtLeads();
$legum = $bidder->getLegum();
$zipInterval = $bidder->getMeta('zip-intervals');
var_dump($bidder->getMeta('zip-intervals'));
$region = $lead->getRegion();
$zip = $lead->getZip();

// If "revisor"
if ( !$legum ) {
    if( $lead->getPrice( $bidder->getId() ) >= $bidder->getMeta( 'min_clips' ) ) {
        foreach ($zipInterval as $interval) {
            if ($interval['from'] <= $zip && $zip <= $interval['to']) {
                // "revisor" just get the lead straight away
                $this->push_lead( $mailer->lead_id, $mailer->bidder_id );
                return true;
            }
        }
    }

// If Legum user ("advokat")
} 

$ zipInterval出现错误。当我var_dump该变量时:

array(1) {
    [0]=> array(2) {
         ["from"]=> string(4) "0000" ["to"]=> string(4) "9999"
    }
}
array(1) {
    [0]=> array(2) {
         ["from"]=> string(4) "1000" ["to"]=> string(4) "9999"
    }
}
array(1) {
    [0]=> array(2) {
         ["from"]=> string(4) "1000" ["to"]=> string(4) "9999"
    }
}
array(2) {
    [0]=> array(2) {
         ["from"]=> string(4) "0000" ["to"]=> string(4) "9999"
    }
    [1]=> array(2) {
         ["from"]=> string(0) "" ["to"]=> string(0) ""
    }
}
string(0) "" 

有人能看出这个论点有什么问题吗?

1 个答案:

答案 0 :(得分:0)

看起来你多次调用这个函数?在最后一个循环中,您将返回一个空字符串而不是数组。

在迭代之前尝试检查值是否为数组。

<?php
if(is_array($zipInterval)){
  foreach($zipInterval as $interval){
     //...
  }
}