Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从多个输入文本中获取隐藏值?_Php - Fatal编程技术网

Php 如何从多个输入文本中获取隐藏值?

Php 如何从多个输入文本中获取隐藏值?,php,Php,我正在创建一个小程序来输入多个销售人员的销售目标。如何仅在目标不为空时获取销售人员id 我使用数组输入类型隐藏来存储销售人员id。但每次我试图获取目标字段不为空的销售人员id时,它都会打印所有销售人员id 这是输入: 这个表单将产生类似这样的结果 Sales Id || Target | -------------------------- SLS0001 || |______30| | ==> 30 for sls0001 SLS0002 || |_____

我正在创建一个小程序来输入多个销售人员的销售目标。如何仅在目标不为空时获取销售人员id

我使用数组输入类型隐藏来存储销售人员id。但每次我试图获取目标字段不为空的销售人员id时,它都会打印所有销售人员id

这是输入:



这个表单将产生类似这样的结果

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/>';
}