PHP多维数组问题

PHP多维数组问题,php,arrays,multidimensional-array,for-loop,Php,Arrays,Multidimensional Array,For Loop,我正在尝试构建一个多维数组 public function saveRateTemplateData($RateTemplateInfo) { $RateTemplateID = $RateTemplateInfo['id']; $Zones = $RateTemplateInfo['premium_zones']; //$ZoneZipCodeIDs[] = array(); for ($n = 1; $n <= $RateTemplateInfo['pr

我正在尝试构建一个多维数组

public function saveRateTemplateData($RateTemplateInfo)
{
    $RateTemplateID = $RateTemplateInfo['id'];
    $Zones = $RateTemplateInfo['premium_zones'];
    //$ZoneZipCodeIDs[] = array();
    for ($n = 1; $n <= $RateTemplateInfo['premium_zones']; $n++) {
        $ZoneNum = 'zone' . $n;
        $ZipCodeArray = explode(",",$_POST[$ZoneNum]);
        $ZipCodeIDs=array();
        foreach ($ZipCodeArray as $v) {
            $v = intval(trim($v));
            if (strlen($v) == 5) {
                array_push($ZipCodeIDs, $this->addZipCode($v));  
            } else {
                echo "it isnt 5";
            }
        }
    }
}
我试过很多方法都不管用 基本上我希望它的格式是VarName[zoneumbers][ZipCodeID]

所以我以后可以循环使用它。因此,我可以这样打印$VarName[$n],然后将为区域编号1打印所有zipcodeID的数组,在这种情况下,它将打印34,31,23

公共函数saveRateTemplateData($RateTemplateInfo)
public function saveRateTemplateData($RateTemplateInfo)
{
    $RateTemplateID = $RateTemplateInfo['id'];
    $zones = array(); // you weren't using this so I'll use it to hold the data

    for ($n = 1; $n <= $RateTemplateInfo['premium_zones']; $n++) {
        $ZoneNum = 'zone' . $n;

        // create an array under the zone number for holding the IDs
        $zones[$n] = array();

        $ZipCodeArray = explode(",",$_POST[$ZoneNum]);
        foreach ($ZipCodeArray as $v) {
            $v = (int) trim($v);
            if (strlen($v) == 5) {
                $zones[$n][] = $this->addZipCode($v);
            } else {
                // use exceptions for exceptional circumstances
                throw new RuntimeException(sprintf('Invalid zone ID "%s"', $v));
            }
        }
    }

    return $zones;
}
{ $RateTemplateID=$RateTemplateInfo['id']; $zones=array();//您没有使用它,所以我将使用它来保存数据 对于($n=1;$n addZipCode($v); }否则{ //在特殊情况下使用例外 抛出新的运行时异常(sprintf('Invalid zone ID“%s”,$v'); } } } 返回$区域; }
公共函数saveRateTemplateData($RateTemplateInfo)
{
$RateTemplateID=$RateTemplateInfo['id'];
$zones=array();//您没有使用它,所以我将使用它来保存数据
对于($n=1;$n addZipCode($v);
}否则{
//在特殊情况下使用例外
抛出新的运行时异常(sprintf('Invalid zone ID“%s”,$v');
}
}
}
返回$区域;
}

addZipCode()方法中有什么?@Phil这是我试图规范化数据的尝试。它所做的一切都是检查邮政编码是否在另一个表中。如果是,则返回邮政编码ID。如果不是,则将其添加到另一个表中,然后返回ID。
addZipCode()中有什么内容
method?@Phil这是我对数据进行规范化的尝试。它所做的一切都是检查邮政编码是否在另一个表中。如果是,则返回邮政编码ID。如果不是,则将其添加到另一个表中,然后返回ID。
public function saveRateTemplateData($RateTemplateInfo)
{
    $RateTemplateID = $RateTemplateInfo['id'];
    $zones = array(); // you weren't using this so I'll use it to hold the data

    for ($n = 1; $n <= $RateTemplateInfo['premium_zones']; $n++) {
        $ZoneNum = 'zone' . $n;

        // create an array under the zone number for holding the IDs
        $zones[$n] = array();

        $ZipCodeArray = explode(",",$_POST[$ZoneNum]);
        foreach ($ZipCodeArray as $v) {
            $v = (int) trim($v);
            if (strlen($v) == 5) {
                $zones[$n][] = $this->addZipCode($v);
            } else {
                // use exceptions for exceptional circumstances
                throw new RuntimeException(sprintf('Invalid zone ID "%s"', $v));
            }
        }
    }

    return $zones;
}