PHP 数组和 htmlentities
PHP array and htmlentities
$_POST=
Array ( [0] => aaa@gmail.com [1] => bbb [2] => ccc [3] => ddd [4] => eee [5] => fff [6] => ggg [7] => hhh [8] => iii [9] => jjj [10] => 31 [11] => k )
foreach($_POST as $key => $val){
for ($key = 0; $key <= 9;$key++){
$_POST2[$val] = htmlentities($_POST[$val]);
}
}
}
这是我的代码,我想做的是将 $_POST
数组拆分为 $key
和 $val
。然后我想告诉程序,当 $key
上升 1
时,将 htmlentities()
放在 $val
周围。
你能帮我么?我已经坚持了几个小时。
你这样做是错误的。尝试 -
foreach($_POST as $key => $val){
$_POST2[] = htmlentities([$val]);
}
不需要 for
循环。 foreach
将包装所有值。如果您希望 key
s 与 $_POST
相同,则将其留空。
更新 18.11.2019
事实上,如果您处理的是关联数组,例如 _POST(与索引数组相反),其中您处理的是有名称的键,而不是数字,那么您必须编写如下代码:
// this is the classic orthodox syntax
foreach($_POST as $key => $val){
$_POST[$key] = htmlentities($val);
}
如果想像我朋友在上面建议的那样省略 $key
它会起作用,但你最终会得到一个同时关联和索引的组合数组(使用双内存并极大地减慢你的脚本)。更重要的是它不会改变关联部分,它会产生并追加由 htmlentities
.
修改的索引数组
// appends a indexed array
foreach($_POST as $key => $val){
$_POST[] = htmlentities($val);
}
// The & in front of $val permits me to modify the value of $val
// inside foreach, without appending a indexed array:
foreach($_POST as &$val){
$val = htmlentities($val);
}
如果您使用索引数组,您总是可以将 $key
排除在外,但也请注意它是 htmlentities($val)
而不是 htmlentities([$val])
。
$_POST=
Array ( [0] => aaa@gmail.com [1] => bbb [2] => ccc [3] => ddd [4] => eee [5] => fff [6] => ggg [7] => hhh [8] => iii [9] => jjj [10] => 31 [11] => k )
foreach($_POST as $key => $val){
for ($key = 0; $key <= 9;$key++){
$_POST2[$val] = htmlentities($_POST[$val]);
}
}
}
这是我的代码,我想做的是将 $_POST
数组拆分为 $key
和 $val
。然后我想告诉程序,当 $key
上升 1
时,将 htmlentities()
放在 $val
周围。
你能帮我么?我已经坚持了几个小时。
你这样做是错误的。尝试 -
foreach($_POST as $key => $val){
$_POST2[] = htmlentities([$val]);
}
不需要 for
循环。 foreach
将包装所有值。如果您希望 key
s 与 $_POST
相同,则将其留空。
更新 18.11.2019
事实上,如果您处理的是关联数组,例如 _POST(与索引数组相反),其中您处理的是有名称的键,而不是数字,那么您必须编写如下代码:
// this is the classic orthodox syntax
foreach($_POST as $key => $val){
$_POST[$key] = htmlentities($val);
}
如果想像我朋友在上面建议的那样省略 $key
它会起作用,但你最终会得到一个同时关联和索引的组合数组(使用双内存并极大地减慢你的脚本)。更重要的是它不会改变关联部分,它会产生并追加由 htmlentities
.
// appends a indexed array
foreach($_POST as $key => $val){
$_POST[] = htmlentities($val);
}
// The & in front of $val permits me to modify the value of $val
// inside foreach, without appending a indexed array:
foreach($_POST as &$val){
$val = htmlentities($val);
}
如果您使用索引数组,您总是可以将 $key
排除在外,但也请注意它是 htmlentities($val)
而不是 htmlentities([$val])
。