如何在$ _REQUEST中处理可变数量的数据?

时间:2013-02-18 01:50:57

标签: java php http

让我先谈谈我真的不懂PHP ......我正在为一个项目摆弄它。

我正在将数据从Java程序发布到我的.php文件中。我目前的问题是,现在我希望我的Java函数将数据发布到PHP文件,但它并不总是存在。例如,有时我会发送这些对:

 (fruit1, apple)
 (fruit2, orange)
 (fruit3, banana)

有时我会发送

 (fruit1, apple)  
 (fruit2, orange)

如何智能地使用$_REQUEST来了解数据是否存在?如果当我做$_REQUEST['fruit3']并且那里没有任何东西,就像在最后一个案例中那样,会发生什么?那是null吗?在这种情况下,if ($_REQUEST['fruit3'])会评估为假吗?

我显然想最终做这样的事情:(这是一种伪代码)

 for ($i=0; $i < totalFruits; $i++)
 {
       processFruit($_REQUEST[fruit + 'i']);
 }

我很感激任何帮助以干净/正确的方式做到这一点。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以简单地遍历请求中的每个变量,并检查它是否以水果开头。使用strict === conditional,因为你要检查字符串中的起始位置而不是false。

foreach ($_REQUEST as $key => $val) {
    // make sure fruit is at the beginning of the string, but not false
    if (strpos($key, 'fruit')===0) { 
        processFruit($val);
    }
}