仅显示特定的索引数组

时间:2019-03-01 05:35:49

标签: php arrays

如何仅显示特定索引?例如,这是我的用户界面。

enter image description here

您可以在图片中看到,我有3个复选框和3个具有数组值的文本框。

让我们说这些是元素的名称。

<input type="checkbox" name="check[]">
<input type="text" name="textbox[]">

然后打印数组:

$check = $_POST['check'];
$total_rec = $_POST['textbox'];

echo 'Check Array<br>';
print_r($check);

echo '<br<br><br><br>';
echo 'TextBox Array<br>';
print_r($textbox);

结果:

Check Array
Array ( [0] => 2 ) 

TextBox Array
Array ( [0] => [1] => 2 [2] => )

您可以在文本框数组中看到所有显示的索引,我只想显示具有值的特定索引,即仅1 => 2。

3 个答案:

答案 0 :(得分:0)

使用 empty(),如果包含值,则返回 true ,例如:

 //iterate each $total_rec's member
foreach($total_rec as each){
    //if $each not empty, do something
    if(!empty($each)){
        echo $each;
    }
}

答案 1 :(得分:0)

您将$total_reccheckbox的帖子值都使用text。您可以像这样过滤文本输入数组:

$total_rec_text = $_POST['textbox'];
$total_rec_text = array_filter($total_rec_text, function($arr){
    return !empty($arr) ? true : false;
});

答案 2 :(得分:0)

您需要遍历$_POST数组,并检查是否已选中复选框。

如果选中,则仅获取/打印值。

  

此外,在HTML中,您需要将特定的计数器添加到checboxes和   文本框。

     

因为只有选中的checbox和texbox被发布   默认。

<input type="checkbox" name="check[0]">
<input type="text" name="textbox[0]">

<input type="checkbox" name="check[1]">
<input type="text" name="textbox[1]">

<input type="checkbox" name="check[2]">
<input type="text" name="textbox[2]">


if (isset($_POST['check'])) {
 foreach ($_POST['check'] as $idx => $value) {
  echo "<br/>" . $_POST['check'][$idx] . ' ' . $_POST['textbox'][$idx];
 }
}