如何在foreach循环检查$ _ POST变量有多个阵列
我使用这个代码来过滤多个字段
$fields = array('ageid', 'heightid', 'waistid'); //database fields
$txtfields = array('txtagefrom', 'txtheightfrom', 'txtwaistfrom'); //from range
$txttofields = array('txtageto', 'txtheightto', 'txtwaistto'); // To Range
$conditions = array();
foreach (array_map(NULL, $fields, $txtfields, $txttofields) as $x) {
list($fields, $txtfields, $txttofields) = $x;
echo "'" . $fields . "' between '" . $txtfields . "' And '" . $txttofields . "'";
}
,但我坚持,如果某些字段为空,然后还它显示的结果,我想多种方法但失败。
我需要,如果这些领域的任何一个是空的,那么它不会显示结果。
看到完整的代码here
检查是否$字段为空或is_null
也有是在你的代码一个错字
<input type="text" name="txtwasitto" placeholder="Wasit To" />
将其更改为
<input type="text" name="txtwaistto" placeholder="Wasit To" />
化妆确定你从$ _POST删除XSS
$fields = array('ageid', null, 'heightid', null, 'waistid'); //database fields
$txtfields = array('txtagefrom', 'testnull', 'txtheightfrom', 'testnull', 'txtwaistfrom'); //from range
$txttofields = array('txtageto', 'testnull', 'txtheightto', 'testnull', 'txtwaistto'); // To Range
$conditions = array();
foreach (array_map(NULL, $fields, $txtfields, $txttofields) as $x) {
list($fields, $txtfields, $txttofields) = $x;
if(!empty($_POST[$txtfields]) && !empty($_POST[$txttofields]))
echo "'" . $fields . "' between '" . $_POST[$txtfields] . "' And '" . $_POST[$txttofields] . "'";
}
尝试...但仍然没有工作 – pawan35
@ pawan35我没有看到任何空的结果( 'ageid'在'txtheightfrom'和'txtheightto''waistid'之间'txtagefrom'和'txtageto''heightid'在'txtwaistfrom'和'txtwaistto'之间)你期待什么? – swaveg
我会简单地告诉你。我正在创建一个建模机构门户,任何用户都可以使用范围虎钳搜索模型,例如年龄:从20到30或身高或腰围。 但是,如果任何用户只想搜索年龄和身高,但不与腰围。那么这段代码将无法正常工作。 选中此项。 http://phpfiddle.org/main/code/ijn4-usx0 – pawan35
'如果(空(是$ var)){做某事}' –
如果{do_something()(空($ VAR)!); } 你意思是? –
你可以显示“过滤多个字段”的部分吗? – JustOnUnderMillions