如何仅显示特定索引?例如,这是我的用户界面。
您可以在图片中看到,我有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。
答案 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_rec
和checkbox
的帖子值都使用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];
}
}