Php foreach有问题:给我警告
我有这个:Php foreach有问题:给我警告,php,arrays,Php,Arrays,我有这个: foreach ($country as $value){ 使用print\r的$country的内容如下: Array 但是,当我打印所有POST变量时,它会将国家显示为单个数组,而不是如上所示的数组中的数组 Array ( [entry] => http://www.google.com [SelectLocation] => Canada [country] => Array ( [0] => AL
foreach ($country as $value){
使用print\r的$country的内容如下:
Array
但是,当我打印所有POST变量时,它会将国家显示为单个数组,而不是如上所示的数组中的数组
Array (
[entry] => http://www.google.com
[SelectLocation] => Canada
[country] => Array (
[0] => AL
[1] => AS
)
[type] => country
[destination] => http://yahoo.co.uk
[default] => http://yahoo.com
[loginsubmit] =>
)
发生什么事了
谢谢大家
更新
我已经这样做了:
$country = sanitize($_POST['country']);
所以$u POST['country']的内容是$country,对吗 你确定你不需要
$\u POST['country']
而仅仅是普通的$country
?你确定你不需要$\u POST['country']
而仅仅是普通的$country
。。让我们直说吧
你有这样一个$u POST数组吗
Array (
[entry] => http://www.google.com
[SelectLocation] => Canada
[country] => Array (
[0] => AL
[1] => AS
)
[type] => country
[destination] => http://yahoo.co.uk
[default] => http://yahoo.com
[loginsubmit] =>
)
您正试图通过foreach循环发送的:
foreach($_POST['country'] as $value)
{
echo $value . "<br>";
}
是这样吗?好的。。让我们直说吧 你有这样一个$u POST数组吗
Array (
[entry] => http://www.google.com
[SelectLocation] => Canada
[country] => Array (
[0] => AL
[1] => AS
)
[type] => country
[destination] => http://yahoo.co.uk
[default] => http://yahoo.com
[loginsubmit] =>
)
您正试图通过foreach循环发送的:
foreach($_POST['country'] as $value)
{
echo $value . "<br>";
}
是吗?美元country来自哪里?您是否假设
$\u POST
变量自动提取到当前范围?因为他们不是。也许你想要这个
foreach ( $_POST['country'] as $value) {
$country
来自哪里?您是否假设$\u POST
变量自动提取到当前范围?因为他们不是。也许你想要这个
foreach ( $_POST['country'] as $value) {
我认为这里没有任何问题:
$country = $_POST['country'];
foreach ($country as $value){
echo $value . '<br />';
}
$country=$\u POST['country'];
foreach(按美元价值计算的国家){
回显$value.“
”;
}
如果您感到困惑,因为$\u POST数组包含一个国家/地区键的数组,那么解释是在HTML name属性后加上方括号,这确保PHP将集合作为数组获取:
<select name="country[]" multiple="multiple">
...
</select>
...
或许:
<input type="checkbox" name="country[]" value="US"/>
<input type="checkbox" name="country[]" value="UK"/>
我看这里没有任何问题:
$country = $_POST['country'];
foreach ($country as $value){
echo $value . '<br />';
}
$country=$\u POST['country'];
foreach(按美元价值计算的国家){
回显$value.“
”;
}
如果您感到困惑,因为$\u POST数组包含一个国家/地区键的数组,那么解释是在HTML name属性后加上方括号,这确保PHP将集合作为数组获取:
<select name="country[]" multiple="multiple">
...
</select>
...
或许:
<input type="checkbox" name="country[]" value="US"/>
<input type="checkbox" name="country[]" value="UK"/>
听起来您希望register\u globals处于启用状态(这将从POST中创建$country变量),但该设置未处于启用状态 因此,您的选择是:
听起来您希望register_globals处于启用状态(这将从POST中创建$country变量),但该设置未处于启用状态 因此,您的选择是:
好的,我的消毒功能很糟糕。我已经解决了这个问题。该函数似乎放弃了数组,因为它只检查字符串!对不起,各位。:) 好的,我的消毒功能很糟糕。我已经解决了这个问题。该函数似乎放弃了数组,因为它只检查字符串!对不起,各位。:) 您在更新中提到的应该可以正常工作。@尼克-可能是一个清理用户输入(防止sql注入等)的函数。@Eric并不意味着这是给定的。您在更新中提到的应该可以正常工作。@尼克-可能是一个清理用户输入(防止sql注入等)的函数@埃里克并不意味着这是既定的。