【问题标题】:PhP associative array to get more effectivePhP关联阵列更有效
【发布时间】:2018-10-22 12:12:15
【问题描述】:

我想问一下我从表单中得到了数组。但我需要管理阵列。

<div class="item form-group">
<h4>Program List</h4>
</div>
<div class="new_program">
  <div class="item form-group">  
  <label class="control-label col-md-3 col-sm-3 col-xs-12"></label>                      
  <div class="col-md-6 col-sm-4 col-xs-8">
  <input  type="text" name="desciplines[0]['name']" placeholder="Program Name" class="form-control col-md-7 col-xs-12">                          
 </div>
</div>
 <div class="item form-group">  
 <label class="control-label col-md-3 col-sm-3 col-xs-12"></label>  
 <div class="col-md-6 col-sm-6 col-xs-12">
 <textarea name="desciplines[0]['program_desc']" class="form-control col-md-7 col-xs-12"></textarea>
 </div>
 </div>
 <div class="item form-group">
 <label class="control-label col-md-3 col-sm-3 col-xs-12"></label>  
 <div class="col-md-2 col-sm-2 col-xs-12">
 <input  type="text" name="desciplines[0]['fees']" placeholder="fees" class="form-control col-md-7 col-xs-12">
 </div>
 </div>
 </div>  
 <div class="item form-group">  
 <label class="control-label col-md-3 col-sm-3 col-xs-12"></label>  
  <div class="col-md-6 col-sm-6 col-xs-12">
 <i class="fa fa-plus add_descipline"></i>
 </div>
 </div>



jQuery 是

$(document).on('click','.add_descipline',function(e){   
            var html = $('.new_program').wrap('<p/>').parent().html();
            $( html ).insertAfter( ".new_program" );
});


即使现在,我已经为临时输出更改了带有检查元素的增量索引,然后我将更改 jQuery。



对不起,如果你不明白。让我知道。我会更真诚的解释。


问候

【问题讨论】:

  • 显示你的 php 代码。
  • 你不需要改变数组,你需要做的只是处理它的当前状态
  • 你的html是通过loop生成的吗?
  • @Dave.... 我只是打印数据。我已经在代码部分显示了 html。
  • 将生成最后 3 个输入字段。更多节目名称、节目描述和节目费用。

标签: php arrays maintainability


【解决方案1】:

最好按照 Riggs 在 cmets 中所说的那样处理数组的当前状态。 但如果你想坚持你的计划,你可以这样做:

$new_desciplines = [];
foreach ($_POST as $key => $value) {
    if(in_array($key, ["desciplines", "programs_descriptions", "fees"])){
        foreach ($value as $index => $val) {
            $new_desciplines[$index][$key] = $val;
        }
    }
}

然后使用$new_desciplines变量

print_r($new_desciplines);

【讨论】:

  • 是的,现在的输出符合预期。谢谢你的回答。也感谢大家的支持。
【解决方案2】:
<?php
echo "<pre>";
print_r($_POST);
?>

  <form class="form-horizontal"  enctype="multipart/form-data" action="#" method="post">
      <input  type="text" name="desciplines[0]['name']" placeholder="Name">  
  <input  type="text" name="desciplines[0]['desc']" placeholder="desc">  
  <input  type="text" name="desciplines[0]['fees']" placeholder="fees">    

  <input  type="text" name="desciplines[1]['name']" placeholder="Name">  
  <input  type="text" name="desciplines[1]['desc']" placeholder="desc">  
  <input  type="text" name="desciplines[1]['feed']" placeholder="fees">    

      <input type="submit" value="Submit">
      </form>

out put

Array
(
    [desciplines] => Array
        (
            [0] => Array
                (
                    ['name'] => fads
                    ['desc'] => fads
                    ['fees'] => fads
                )

            [1] => Array
                (
                    ['name'] => fadsf
                    ['desc'] => fdasfdas
                    ['feed'] => fdasf
                )

        )

)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 2013-01-25
    • 2015-07-21
    • 2023-03-26
    相关资源
    最近更新 更多