PHP多维数组问题
问题描述:
iam试图构建一个多维数组。PHP多维数组问题
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";
}
}
}
}
所以iam试图做的是制作一个数组的数组。所以这是它应该如何看待
Array
(
[1] => Array
(
[0] => 34
[1] => 31
[2] => 23
)
[2] => Array
(
[0] => 18
[1] => 4
[2] => 35
[3] => 1
)
)
我已经试过许多方法它不通过它的工作 基本上我希望它以这种格式为VarName [ZoneNumbers] [ZipCodeID]
,所以我可以循环以后。这样我就可以打印这样的$ varname的[$ N]那么所有zipcodeID的阵列将在此情况下,打印的区1号将打印34,31,23
答
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;
}
+0
再次感谢您的帮助....... –
在'addZipCode什么是()'方法? – Phil
@试图规范我的数据。所有它检查邮政编码是否在另一个表中。如果是,则返回邮政编码。如果没有,则将其添加到另一个表中,然后返回该ID。 –