PHP Laravel - HTML Forms array of values



>我有以下形式,带有字段:

  • 价格

您可以添加多行,然后将此数据发送到控制器。

我想要的是:

假设页面上当前有两行输入,因此输出如下所示:

$rates => array(2)
0 => [ 
"from" => 1, 
"to"   => 2,
"price" => 10
], 
1 => [ 
"from" => 1, 
"to"   => 2,
"price" => 10
]   

我尝试执行以下操作(HMTL):

<input type="text" name="rates[]" placeholder="Enter rate from" 
autocomplete="off" class="form-control">

但这只给了我一个包含所有值的 6 数组,无法知道顺序。我还尝试了以下方法:

<input type="text" name="rates[]['from']" placeholder="Enter rate from" 
autocomplete="off" class="form-control">
<input type="text" name="rates[]['to']" placeholder="Enter rate to" 
autocomplete="off" class="form-control">
<input type="text" name="rates[]['price']" placeholder="Enter rate price" 
autocomplete="off" class="form-control">

这不会产生我需要的结果。是否可以使用 HTML 和 PHP 做我想做的事情?

您可以使用三种不同的数组(例如fromtoprices),而不是使用基于索引的方法。然后,可以循环访问所有这些值以获取值。

.HTML

<input type="text" name="from[]" placeholder="Enter rate from" 
autocomplete="off" class="form-control">
<input type="text" name="to[]" placeholder="Enter rate to" 
autocomplete="off" class="form-control">
<input type="text" name="prices[]" placeholder="Enter rate price" 
autocomplete="off" class="form-control">

.PHP

$from = [
'Jane',
'Bob',
'Mary',
];
$to = [
'John',
'Alex',
'Paul',
];
$prices = [
10,
2500,
2,
];
$finalValues = [];
foreach ($prices as $i => $price) {
$finalValues[
"from" => $from[i];
"to" => $to[i];
"price" => $price;
} 

这仅在您的值都是必需的时才有效,或者在未设置时返回 null

相关内容

  • 没有找到相关文章

最新更新