Php 如何从多个输入文本中获取隐藏值?
我正在创建一个小程序来输入多个销售人员的销售目标。如何仅在目标不为空时获取销售人员id 我使用数组输入类型隐藏来存储销售人员id。但每次我试图获取目标字段不为空的销售人员id时,它都会打印所有销售人员id 这是输入:Php 如何从多个输入文本中获取隐藏值?,php,Php,我正在创建一个小程序来输入多个销售人员的销售目标。如何仅在目标不为空时获取销售人员id 我使用数组输入类型隐藏来存储销售人员id。但每次我试图获取目标字段不为空的销售人员id时,它都会打印所有销售人员id 这是输入: 这个表单将产生类似这样的结果 Sales Id || Target | -------------------------- SLS0001 || |______30| | ==> 30 for sls0001 SLS0002 || |_____
这个表单将产生类似这样的结果
Sales Id || Target |
--------------------------
SLS0001 || |______30| | ==> 30 for sls0001
SLS0002 || |________| | ==> no target for sls0002
SLS0003 || |______10| | ==> 10 for sls0002
为了获取目标不为空的salesid,我创建了
foreach (array_filter($_POST['salesid']) as $key => $salesId)
{
echo $salesId.'<br/>';
}
但结果是
SLS0001
SLS0002
SLS0003
如何达到预期的效果?谢谢。如果我理解正确,我认为您需要检查
$\u POST['target']
是否为空,而不是salesid
您可以将array_combine与array_filter结合使用以实现此结果。在此处查看有关阵列的更多信息:
array\u combine($\u POST['salesid'],$\u POST['target'])
将为您提供如下数组:
array(
'SLS0001' => '30',
'SLS0002' => '',
'SLS0003' => '10'
);
然后应用array_filter,它将为您提供正确的结果
// makes salesid your key, and target your value, array_filter will filter out empties from target
foreach (array_filter(array_combine($_POST['salesid'], $_POST['target'])) as $salesid => $target)
{
echo $salesid.'<br/>';
}
//将salesid设置为您的密钥,并将目标设置为您的值,array\u filter将从目标中筛选出空值
foreach(数组_过滤器(数组_组合($_POST['salesid'],$_POST['target'])作为$salesid=>$target)
{
echo$salesid.“
”;
}
foreach(数组过滤器($\u POST['salesid'])作为$key=>$salesid)
{
如果(!/*此处使用的条件为空或null*/)
echo$salesId.“
”;
}
仅供参考,
内部的
无效。和id
s应该是唯一的。另外,
和
也很好。“要获取目标不为空的salesid,我创建了这个”。。。。但该语句后面的代码都与目标字段无关。它没有任何用处。不清楚你为什么期望它像你说的那样做。在决定是否回显之前,您需要检查相关目标字段的内容。如果不清楚,我很抱歉。我尽力了。但是谢谢你,我已经找到了下面的解决方案。。
// makes salesid your key, and target your value, array_filter will filter out empties from target
foreach (array_filter(array_combine($_POST['salesid'], $_POST['target'])) as $salesid => $target)
{
echo $salesid.'<br/>';
}
foreach (array_filter($_POST['salesid']) as $key => $salesId)
{
if (!/* here you use condition for is empty or null */)
echo $salesId.'<br/>';
}