2017-02-20 54 views
0

我已经看到并尝试了很多关于向用户显示数组结果的示例,但是他们都没有为我工作。向用户显示数组结果

最接近于我所期待的,我想,是这样的:

How to display array result

再次,尝试过,但它不工作。

它不起作用 - 意味着页面空白。

当我尝试varDump(...)和print_r(...),我得到的结果,但我似乎无法显示结果给用户。

有谁知道我需要对下面的代码进行哪些修改才能显示源名称,sourceaddress1和income1的结果?

$rowIDs = $_POST['rowIDs']; 
if (is_array($rowIDs) || is_object($rowIDs)) 
{ 
foreach ($rowIDs as $id) { 
$sourcename1 = $_POST['sourcename1'. $id]; 
$sourceaddress1 = $_POST['sourceaddress1'. $id]; 
$income1 = $_POST['income1'. $id]; 
echo $id; 
echo $sourcename; 
echo $sourceaddress1; 
echo $income1; 
} 

[rowIDs] => 1 
[sourcename1] => Array 
    (
     [0] => Jane Doe 
    ) 

[sourceaddress1] => Array 
    (
     [0] => 123 Main Street 
    ) 

[income1] => Array 
    (
     [0] => $89,000.00 
    ) 

“//标记,

<script id="row-template" type="text/x-handlebars-template"> 
<div> 
     <!--reseed attribute IDs in case of gap resulting from deletions --> 
    <input type="hidden" name="rowIDs[]" value="{{rowNumber}}" /> 
<div class="form-group"> 

    <input type="text" name="sourcename1{{rowNumber}}" id="sourcename1{{rowNumber}}" value="" class="required requiredField" /> 
    <?php if($nameError != '') { ?> 
     <span class="error"><?=$nameError;?></span> 
    <?php } ?> 
</div> 
<div class="form-group"> 
    <input type="text" name="sourceaddress1{{rowNumber}}" id="sourceaddress1{{rowNumber}}" style="width:250px;" class="form-control" value="" class="required requiredField" /> 
    <?php if($nameError != '') { ?> 
     <span class="error"><?=$nameError;?></span> 
    <?php } ?> 
</div> 
<div class="form-group"> 
    <input type="text" style="width:250px;" class="form-control" name="income1{{rowNumber}}" id="income1{{rowNumber}}" value="<?php if(isset($_POST['spouseIncome{{rowNumber}}'])) echo $_POST['spouseIncome{{rowNumber}}'];?>" class="required requiredField" /> 
    <?php if($nameError != '') { ?> 
     <span class="error"><?=$nameError;?></span> 
    <?php } ?> 
    </div> 
    <input id="Button{{rowNumber}}" type="button" rel="remove-row" value="Remove" /> 
</div> 
</script> 
<div id="addrow"> 
    <div> 
    <!--reseed attribute IDs in case of gap resulting from deletions --> 
     <input type="hidden" name="rowIDs[]" value="{{rowNumber}}" /> 
    <div class="form-group"> 
    <label for="sourcename">Name</label><br> 
      <input type="text" name="sourcename1[]" id="sourcename1" value="" class="required requiredField" /> 
      <?php if($nameError != '') { ?> 
       <span class="error"><?=$nameError;?></span> 
      <?php } ?> 
     </div> 
     <div class="form-group"> 
      <label for="sourceaddress1">Address</label><br> 
      <input type="text" name="sourceaddress1[]" id="sourceaddress1" style="width:250px;" class="form-control" value="" class="required requiredField" /> 
      <?php if($nameError != '') { ?> 
       <span class="error"><?=$nameError;?></span> 
      <?php } ?> 
     </div> 
     <div class="form-group"> 
      <label for="income1">Income</label><br> 
      <input type="text" name="income1[]" id="income1" style="width:250px;" class="form-control" value="" class="required requiredField" /> 
      <?php if($nameError != '') { ?> 
       <span class="error"><?=$nameError;?></span> 
      <?php } ?> 
<input type="button" value="Add More" rel="add-row" /> 
    </div> 
</div> 
</div><br><br> 
+0

不可能'$ _POST ['rowIDs']'是一个对象。对象是php内部的,'$ _POST'包含外部数据。 – arkascha

+0

你可以分享使用print_r得到的结果吗? – Divyank

+0

数组键中的字符串连接看起来不合适。请尝试解释您实际上想要做什么以及您实际拥有哪些数据。我们不能证明,你知道吗? – arkascha

回答

1

$_POST['rowids']是一个数字,而不是一个数组,因此foreach ($_POST['rowids'] as $id)是错误的。我猜这包含了其他输入数组中元素的个数,所以它应该是:

for ($id = 0; $id < $rowIDs; $id++) 

你也应该不会有if (is_array($postIDs) || is_object($postIDs)),因为当此输入是一个数字的代码应该运行。

其他输入是数组,因此您需要使用数组索引来访问它们,而不是字符串连接。

$sourcename1 = $_POST['sourcename1'][$id]; 

和其他输入类似。

+0

非常感谢您的先生。 所以,我用你的for(?)版本替换'foreach($ rowIDs as $ id)'? 我仍然不清楚为什么所有这些变化,特别是从Barmar的变化,我仍然无法看到在屏幕上的数组的结果。屏幕仍然是空白的。 – Kenny

+0

服务器日志中是否有错误? – Barmar

+0

根本没有。 我确实有一些不是数组的表单域。 'if(isset($ _ POST ['employeename'])) $ employeename = $ _POST ['employeename']; echo'员工姓名:'。 $ employeename' 这些显示结果到屏幕就好了。这是一个问题阵列。 – Kenny

0

sourcename1,sourceaddress1和income1是含有一个项目阵列。例如,$sourcename[0]将返回Jane Doe

有关阵列please read the documentation的更多信息。