本文主要和大家分享PHP可能会掉入的坑一,我们通过一个小示例和大家分享解答,希望能帮助到大家。
今天被人问:
$var = 'test';
if (isset($var['somekey']))
{
echo 'reach here!!!';
}会不会输出'reach here!!!'? ---当然不会啊。我想也没想就答。
果然,我掉坑里了!会输出的!如果你没掉坑里,那么恭喜你,你也不用往下看了。
现在,让我们来分析一下。既然 isset 了,那么值到底是什么呢?我们把它打印出来:
PhpEIP企业信息化平台主要解决企业各类信息的集成,能把各种应用系统(如内容管理系统,网上商城,论坛系统等)统一到企业信息化平台中,整个系统采用简单易用的模板引擎,可自定义XML标签,系统采用开放式模块开发,符合开发接口的模块可完全嵌入到平台;内容管理模块可自定义内容模型,系统自带普通文章模型和图片集模型,用户可以定义丰富的栏目构建企业门户,全站可生成静态页面,提供良好的搜索引擎优化;会员管理模
0
var_dump($var['somekey']); //=>output: string(1) "t"
是字符't',就是 $var 的第一个字符,到这里想明白了吗?
立即学习“PHP免费学习笔记(深入)”;
因为变量$var是一个字符串,学过C语言的话就知道它是char类型的数组,所以我们可以用 $var[0] $var[1] $var[$i]...取到 $var 的第 $i+1 个字符。那么刚才的 'somekey' 为什么取到的是第一个字符呢?这是因为php在这里做了隐式的类型转换,将这里的字符串转换成int型。你试过intval('somekey')函数的话就知道得到的就是0,所以 $var['somekey']最终就是 $var[0]了。最后,得到了 't'。
以上就是PHP可能会掉入的坑一的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号