嘿,我在页面中有一个表单,其中表单中有很多复选框,这些复选框都是添加的dynamically.So,我不知道数字,请看下面的代码:
<form action="" method="" style="margin:0px;" onsubmit="return sharedocxss();" id="share90_FORMh8">
<?php while($the_DEATA_ARE_90=mysqli_fetch_array($getDOCS_30all)){ ?>
<div class="This_LISy_Lisy678" id="MAINDIV_DELEE<?=$the_DEATA_ARE_90['dcid']?>">
<div class="CHeck_IS_BOC">
<input type="checkbox" name="selecteddocx[]" value="<?=$the_DEATA_ARE_90['dcid']?>x<?=$the_DEATA_ARE_90['name']?>" id="check_docname<?=$the_DEATA_ARE_90['dcid']?>"/>
</div>在下一页中,可能会有名称为“selecteddocx”的复选框和类似于‘1222xome文本’的值。我想得到这些文本框的所有值,像这样显示一些文本,一些text2,一些text3 .
一些文本、一些text2、一些text3是从复选框的值中减去一些字符直到第一次出现x时才能得到的值。
在第二页,我有如下代码
$selecteddocx = (isset($_POST['selecteddocx']) ? $_POST['selecteddocx'] : '');我想我可以为每个循环使用一些
发布于 2015-08-01 16:58:18
if( isset($_POST['selecteddocx'] ) ){
foreach($_POST['selecteddocx'] as $value){
if (($pos = strstr($value, 'x')) !== false) {
$value = substr($pos, 1);
}
echo $value;
}
} 示例以逗号分隔列表形式打印:
function preparetext($value){
if (($pos = strstr($value, 'x')) !== false) {
$value = substr($pos, 1);
}
return $value;
}
if( isset($_POST['selecteddocx'] ) ){
echo implode(",", array_map("preparetext",$_POST['selecteddocx'] ));
} 关于两份单独的清单:
if( isset($_POST['selecteddocx'] ) ){
$a = array();
$b = array();
foreach($_POST['selecteddocx'] as $value){
$str = explode("x",$value,2);
$a[] = $str[0];
$b[] = $str[1];
}
echo implode(",", $a);
echo implode(",", $b);
}发布于 2015-08-01 17:07:58
若要删除第一个'x‘和它之前发生的一切,请使用array_map将新值映射到另一个数组。
$values = array_map(function($v) {
$pieces = explode('x',$v);
unset($pieces[0]); //remove everything before 1st 'x'
return implode('x',$pieces);
},$_POST['selecteddocx']);要打印逗号分隔列表,可以在新数组上使用implode,用逗号作为粘合剂。
print implode(', ',$values);https://stackoverflow.com/questions/31764012
复制相似问题