输入字段中的多维数组

时间:2012-12-05 12:10:41

标签: php

我的表单上有一个隐藏字段,我想整理并发布与数组中价格相关的日期,以便我可以在另一个页面上使用它们。目前,我在下面定义了以下输入字段。

<input name="arrayDatesPrices[]" type="hidden" 
value="<?php echo PrintDateTime($recordsCourseWeeks->getField('Start_date'),"d/m/Y"); ?>"> 

当我在下一页上执行print_r(arrayDatesPrices)时,它会列出数组中的所有日期。这完全符合预期。我有另一个名为$ Price_per_week的字段,我想将价格与日期联系起来。因此,我尝试了以下内容。

<input name="arrayDatesPrices[]" type="hidden" 
value="<?php echo array(PrintDateTime    ($recordsCourseWeeks->getField('Start_date'),"d/m/Y"), array( $Price_per_week) ); ?>"> 

当我在下面的页面上执行print_r(arrayDatesPrices)时 - 我得到一个空白数组。我的格式设置是否不正确,还是可以进行多维数组输入字段?

3 个答案:

答案 0 :(得分:2)

您可以使用json_*serialize功能来存储结构 例如:

<input name="arrayDatesPrices[]" type="hidden" 
value="<?php echo json_encode(PrintDateTime($recordsCourseWeeks->getField('Start_date'),"d/m/Y")); ?>"> 

在PHP代码中你必须打电话:

$val = json_decode($_REQUEST['arrayDatesPrices'][$i]);

答案 1 :(得分:1)

也许你可以把两个值放在字段上;分隔符并在提交后用服务器代码将其爆炸?

或者以其他方式思考你的领域:

<input name="arrayDatesPrices[0][start_date]" type="hidden" value="<?php  echo PrintDateTime($recordsCourseWeeks->getField('Start_date'),"d/m/Y"); ?>" />
<input name="arrayDatesPrices[0][price_per_week]" type="hidden" value="<?php  echo $Price_per_week ?>" />

为每一对值递增第一个参数

答案 2 :(得分:0)

Try like this..

<input name="arrayDatesPrices[]" type="hidden" 
value="<?php echo PrintDateTime($recordsCourseWeeks->getField('Start_date'),
"d/m/Y").':'.$Price_per_week ; ?>"> 

After submit...
$i = 0;
foreach( $arrayDatesPrices as $arr )
{
 list($stat,$wk) = explode(':',$arr);
 $new_arr[$i]['start_date'] = $stat;
 $new_arr[$i++]['wek'] = $wk;
}