如何循环显示此隐藏字段格式

时间:2010-10-27 21:47:27

标签: php

  

可能重复:
  How do i Loop through the hidden field items and put in Session using PHP

我有一个隐藏的字段,其中包含这种格式,其中包含由';'分隔的行集(分号) 每行包含一些以':'(冒号)分隔的列名,每个列的值以','(逗号)分隔 所以我的格式是ENO:123,ENAME:XYZ,SAL:1200; ENO:598,ENAME:AIR,SAL:1300;这是存储在隐藏字段中的内容

那么我如何抓取每个列,如ENO,ENAME和SAL,将其值写入隐藏字段的任意行数 所以我有我自己的自定义会话功能,我可以设置键和值。因此循环值 我应该能够放置MyCustomSessionFunction('ENAME',??????)。我如何填写此内容。

我没有得到正确的答复。可以有人请你帮助我

   $hiddenformat  =  $_POST['hiddenfield'];



   string(80) "ENO:1000,ENAME:B,SAL:10;ENO:1000,ENAME:S,SAL:100;"

当我vardump($ hiddenformat)我得到上面的格式。我如何爆炸并循环并将每个值分配给我    自定义会话功能

     foreach( $outer_array as $outer_key => $inner_array ) 
   {
     foreach( $inner_array as $key => $value ) 
     {

     }
   }

2 个答案:

答案 0 :(得分:3)

$hiddenformat = $_POST['hiddenfield'];
$parts = explode(',', $hiddenformat);

foreach($parts as $part) {
    $bits = explode(':', $part);
    ...
}

给定ENO:1000,ENAME:B,SAL:...的$ hiddenformat,第一个爆炸将在每个逗号分割该行,为您提供一个$ parts数组,如下所示:

$parts = array(
    0 => 'ENO:1000',
    1 => 'ENAME:B',
    2 => 'SAL:.....
);

Yuu使用foreach循环遍历此$ parts数组,并将$ part拆分为每个冒号(:)。因此,在每个阶段,$ bits将如下所示:

$bits = array(
    0 => 'ENO',
    1 => '1000'
)

然后在下一次迭代

$bits = array(
    0 => 'ENAME',
    1 => 'B'
)

等等。你用这些单独的块做什么取决于你。

是的,这一切都存在于其他问题的答案中。你只需做一些工作就可以把它们放在一起。

答案 1 :(得分:0)

是的,是的。 只是说,在那之前,你必须通过“;”爆炸()并且在循环中使用Marc的代码,因为字符串中有多个数据集