
isset 判断 POST 没啥意义啊,但网上好多代码都是这么写的
1 mrpzx001 Oct 28, 2022 这不是常识? |
2 yuzo555 Oct 28, 2022 正常不是该用 $_SERVER['REQUEST_METHOD'] 判断? |
3 fairless Oct 28, 2022 一般判断某个字段是否存在采用 issset($_POST['xxxx']),而且现在大部分都是从框架 request 对象获取表单了 |
4 qqjt Oct 28, 2022 上框架吧,laravel 走起,少去踩老坑了,没意义 |
5 frank553000 Oct 28, 2022 请问用框架做的各位, 假如做一般的企业网站(有产品,产品筛选等,或者以后加支付等)这类功能的。 后台功能都要自己写吗?还是拿开源的改一下? |
6 fiypig Oct 28, 2022 我还是习惯!empty()解决一切烦恼 |
7 00ing Oct 28, 2022 php 基础有待提高 |
8 minbaby Oct 28, 2022 如果不在 fpm 里执行 php 代码, $_POST 就不一定存在 |
9 getcodex Oct 28, 2022 isset 和 empty 是两回事呀 |
10 liaohongxing Oct 28, 2022 $_POST 超级变量永远是一个 array, 表单有值自动填充到这个 array ,没值是一个空 array , 空 array 满足 isset 的情况。 |
11 hahasong Oct 28, 2022 上手 PHP 要求这么低吗 这种问题文档里难道没有 |
12 liaohongxing Oct 28, 2022 @hahasong 文档有说明 : https://www.php.net/manual/zh/function.isset.php 判断一个变量是否已设置, 即变量已被声明,且其值不为 null 。 https://www.php.net/manual/zh/function.empty 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于 false ,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。 就楼主太菜。 |
13 qinrui OP @liaohongxing 即使不往页面 post 数据,isset ($_post [])仍然是真 |
14 MIUIOS Oct 28, 2022 这哪里是坑,是你没去文档和好好了解 PHP 的底层,很多程序都是直接取$_POST ,那如果没有默认定义为 array ,那到时得一堆报错,坑更多 |
15 wonderfulcxm Oct 28, 2022 via iPhone …我竟无言以对,明明是你基础有问题 |
16 iwh718 Oct 28, 2022 via Android 这就离谱。。。这正常吧。 |
17 xinshoushanglu Oct 28, 2022 你是第一天用 php 吗? |
18 liaohongxing Oct 28, 2022 @qinrui isset 在其他语言就是判断内存有无分配。 空 array 就是内存已分配,但是分配了一个空的 hashmap, 里面没数据而已。 isset 判断一个空 array 就是 true 。而$_POST 就是一个特殊的空 array , 永远已分配 。判断这个肯定总是 true |
19 jfcherng Oct 28, 2022 Truth table 了 https://www.php.net/manual/en/types.comparisons.php |
20 mht Oct 28, 2022 我也不认为这个是坑。。。isset 表面意思就是这个变量是否设置了,empty 是判断变量是不是 PHP 的意义上的空。。。 |
21 eviladan0s Oct 29, 2022 isset($_POST['test'])这种才行,超全局遍历肯定是一直存在的 |
22 jhdxr Oct 30, 2022 @qinrui https://www.php.net/manual/en/reserved.variables.post.php > This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. https://www.w3schools.com/php/php_superglobals_post.asp > Super global variables are built-in variables that are always available in all scopes. 不知道你觉得『不往页面 post 数据』$_POST 就不存在的想法是哪来的(还是说你不知道 isset 判断的不是是否为空而是变量是否存在)? |
23 NewYear Oct 31, 2022 面向复制编程,也应该做一些测试的。 很多分享的代码,都是错代码,而且错得让人不明所以…… |
24 NewYear Oct 31, 2022 我甚至遇到过,代码都是对的,但是有一句语句放错了位置,调整好位置就可以用了…… |
25 liKeYunKeji Nov 23, 2022 via iPhone empty($_POST["xxx"]) || isset($_POST["xxx"]) 我喜欢双重判断,总有一个中招 |