Php 创建和存储阵列/动态阵列

Php 创建和存储阵列/动态阵列,php,arrays,multidimensional-array,foreach,checkbox,Php,Arrays,Multidimensional Array,Foreach,Checkbox,我在创建数组和存储信息方面有问题,我有一个表,其中的数据数量可能是无限的,然后用户将选择一些选项,这些选项将决定他们可以选择哪些值(这也是一个无限的数字),然后这些选项将显示在我使用此代码的复选框中 <?php foreach ( $results['detailsline'] as $detailsline ) { $invoice_details = $detailsline->details_line; echo $invoice_details; echo '<in

我在创建数组和存储信息方面有问题,我有一个表,其中的数据数量可能是无限的,然后用户将选择一些选项,这些选项将决定他们可以选择哪些值(这也是一个无限的数字),然后这些选项将显示在我使用此代码的复选框中

<?php foreach ( $results['detailsline'] as $detailsline )
 {
$invoice_details = $detailsline->details_line;

echo $invoice_details;
echo '<input type="checkbox" name="invoice_details" value="'.$invoice_details.'"/>';  
  }             
 ?> 

但这只会在我的数据库中存储一个值“Array”,而不是实际值

有人能帮我吗

伊恩

试试这个

<?php foreach ( $results['detailsline'] as $detailsline )
 {
$invoice_details = $detailsline->details_line;

echo $invoice_details;
echo '<input type="checkbox" name="invoice_details[]" value="'.$invoice_details.'"/>';  
  }             
 ?> 

使用

在您的代码中,您可以使用
序列化($invoice\u details)
保存到数据库中,使用-
取消序列化($field\u from\u DB)

第一个函数返回字符串,这样您就可以将其保存为字符串字段,第二个函数获取字符串并返回整个数组,这样您就可以使用它了

但这只会在我的数据库中存储一个值“Array”,而不是实际值

假设您试图将数组存储为字符串,所以得到了该值
因此可能需要使用内爆/序列化/json_编码(数组)来存储数据?

字面意思是code
$invoice_details[]=$detailsline->details\u line表示获取对象的属性详细信息行$detailsline,并将其值作为新元素插入数组$invoice\u details。你确定这是你想要的吗?)我还假设$detailsline是一个数组,但不是对象(你试图将其作为对象来操作)

好的,我想你应该试试这个:

<?php 
$i=0;
foreach ( $results['detailsline'] as $detailsline )
{
$invoice_details = $detailsline->details_line;
echo $invoice_details;
echo '<input type="checkbox" name="invoice_details[$i]" value="'.$invoice_details.'"/>';  
$i++;
}             
?>


我的问题似乎是将值存储到数据库中,我想我需要将其转换为字符串,但我不知所措。谢谢你的回复。你使用$i让echo的东西正常工作,非常感谢。现在将数组存储为字符串。感谢您的回复,我需要在提交之前将数组转换为字符串,因为我发现我使用的第一组代码正在工作并在每次数组迭代中存储正确的值,但在将所选框转换为字符串时,我非常困惑
    $invoice_details
$invoice_details[]
<?php foreach ( $results['detailsline'] as $detailsline )
 {
$invoice_details = $detailsline->details_line;

echo $invoice_details;
echo '<input type="checkbox" name="invoice_details[]" value="'.$invoice_details.'"/>';  
  }             
 ?> 
<?php 
$i=0;
foreach ( $results['detailsline'] as $detailsline )
{
$invoice_details = $detailsline->details_line;
echo $invoice_details;
echo '<input type="checkbox" name="invoice_details[$i]" value="'.$invoice_details.'"/>';  
$i++;
}             
?>