您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

关于PHP字符与数组的疑义

2025/2/10 16:15:03发布30次查看
关于php字符与数组的疑问
$str=123456;
var_dump($str[abc]);
为什么结果是第一个字符而不是null 而且我unset($str[abc])又提示没这个下标。
------解决方案--------------------
字符串不是数组,只有位置,没有下标和关联键
数组相关函数不能用于字符串
因此 $str[abc] 中的 abc 被转换成数值 0
对于 $str=123456; 而言 $str[abc] 就是 $str[0],所以得到 1
虽然访问字符串的某个位置可以写作 $str[$i]
但是为防止歧义,php 建议你这么写 $str{$i}
------解决方案--------------------
手册 比较运算符 一节
------------------------------------------
 true
var_dump(1 == 01); // 1 == 1 -> true
var_dump(1 == 1e0); // 1 == 1 -> true
switch (a) {
case 0:
    echo 0;
    break;
case a: // never reached because a is already matched with 0
    echo a;
    break;
}
?> 
------------------------
switch那个例子就很明显了
字符串索引不能用“字符串”,但php把它“智能”地处理了变成0
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product