首先我知道这是一个重复的问题,在这里经常被问到,但是我已经仔细阅读了这些答案,仍然无法弄清楚我的代码出了什么问题。我对PHP相当陌生,99%肯定这是一个非常简单/新手的事情,这就是为什么它让我感到沮丧。检查var对数组的匹配
下面是代码:
$validProgram = 0;
$validProgramCodes = array('ITFZ', 'ITFC', 'ITFP', 'ITFE', 'ITFL', 'ITFS',
'ITFF', 'ITFM', 'ITFT', 'IEME', 'ISMK', 'IPKT');
if (isset($_GET[ 'category' ]) && isset($_GET[ 'subcategory' ])
&& $_GET[ 'category' ] != '' && $_GET[ 'subcategory' ] != '')
{
$selectedSchool = $_GET[ 'category' ];
$selectedProgram = $_GET[ 'subcategory' ];
$selectedSchool = prepString($selectedSchool);
$selectedProgram = prepString($selectedProgram);
foreach ($validProgramCodes as $temp)
{
if ($temp == $selectedProgram)
{
$validProgram ++;
}
}
if ($validProgram == 1)
{
echo "success!";
}
else if ($validProgram !== 1)
{
echo "failure!";
}
}
}
现在...出于某种原因,不管什么是$ selectedProgram,验证检查回声出failurestatement提供。这是非常简单的代码,所以我相信这是一个非常明显的问题,但我认为我需要另一双眼睛快速浏览一下。 :)
谢谢你的帮助!
哇,现在我觉得很蠢!我知道这是一件小事......我只是假设我已经使用了==,而我的眼睛甚至没有检查。谢谢!然而,现在一切输出无效......嗯 – Prefix 2012-07-24 18:32:49
@TomC:而不是调试你检查数组成员的大块,也许使用PHP的内置函数将解决你的问题。否则,我建议在检查它是否在数组中之前运行'var_dump($ selectedProgram)',以确保变量实际上包含您期望的内容。 – Matchu 2012-07-24 18:36:31
嗨Matchu,由于某种原因var_dump声称我只有6个条目在数组中,实际上有12个......奇怪!请原谅我的无知,但您提到的内置PHP函数是什么? – Prefix 2012-07-24 18:41:12