php 是最好的语言。。
那么问题来了,这个问题怎么理解:
<?php foreach ($_POST as $key => $value) { $_POST[false]=$value; } var_dump($_POST); ?>
post 数据 w:123 a=456
结果:
array(3) { ["w"]=> string(3) "123" ["a"]=> string(3) "456" [0]=> string(3) "456" }protected function _clean_input_keys($str, $fatal = TRUE)
{
if ( ! preg_match('/^[a-z0-9:_\/|-]+$/i', $str))
{
if ($fatal === TRUE)
{
return FALSE;
}
else
{
echo 'Disallowed Key Characters.';
exit(7); // EXIT_USER_INPUT
}
}
// Clean UTF-8 if supported
if (UTF8_ENABLED === TRUE)
{
return $this->uni->clean_string($str);
}
return $str;
}
if (is_array($_POST) && count($_POST) > 0)
{
foreach ($_POST as $key => $val)
{
$_POST[$this->_clean_input_keys($key)] = $this->_clean_input_data($val);
}
}
这是 ci 里对 post data key 进行处理的过程 如果提交有类似 [ ] 的 key ,好像 clean post data 处理完并没有什么卵用 ----------------------- 以下是精选回复-----------------------
答:http://php.net/manual/zh/language.types.array.php
=_=! 请认真阅读文档…
答:<?php
foreach ($_POST as $key => $value) {
$_POST[0]=$value;
}
var_dump($_POST);
?>
很难理解?
答:呵呵
答:> // 键( key )可是是一个整数 integer 或字符串 string
答:0 和 '' 都相当于空字符和 false
答:false 被转换成 0 了。你是最好的程序员。
答:构造这种明显错误的语法究竟是为了什么?
答:何必为了黑而黑呢?如果你觉得自己牛逼,那首先你应该知道某种语言的缺陷,其次你还能规避或者用其他语言来弥补。你是连缺陷都不了解呢?还是不会其他拿手语言呢?
答:你这个标题让人看了就觉得。。,我也写过很长时间的 PHP ,不过遇到问题我会去先尝试解决,再回来总结。如果你提问,请认真提问。
答:不是语言的锅,是你为什么要这样写。
答:莫名其妙
答:低端黑
答:哈哈哈,楼上觉得楼主问题“莫名其妙”的,可以看这里的第二题以及答案:
https://www.v2ex.com/t/228831
答:这证明了 PHP 鲁棒性强,写其他语言里会爆炸的语句,竟然也能正常运行。
PHP 对于 *个别群体* 的容忍度太高,这点不太好。
答:又是一个最好的程序员
答:JS 能钻空子的还要多……
答:有意思? php 写得好,对你本身的编程功底要求是非常高的
答:false 转换成 0 , Array([w] => 123 [a] => 456 [0] => 456)。[w] => 123 和[0] => 456 是不一样的。
答:你是最好的程序员~
够低端
答:you sucks
答:这个标题是用来解决女朋友叫你出去陪她逛街问题的
答:不喜欢 PHP 可以不写嘛,不要这么为难自己,去写 JAVA 吧,那也是不错的语言,哈哈
0条评论