关于PHP字符与数组的疑问 $str="123456";var_dump($str["abc"]);为什么结果是第一个字符而不是null 而且我unset($str["abc"])又提示没这个下标。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 返回的是1代表真,说明资源存在,貌似是这样的,看看var_dump的用法 字符串不是数组,只有位置,没有下标和关联键数组相关函数不能用于字符串因此 $str["abc"] 中的 "abc" 被转换成数值 0对于 $str="123456"; 而言 $str["abc"] 就是 $str[0],所以得到 1虽然访问字符串的某个位置可以写作 $str[$i]但是为防止歧义,php 建议你这么写 $str{$i} 手册 比较运算符 一节------------------------------------------<?phpvar_dump(0 == "a"); // 0 == 0 -> truevar_dump("1" == "01"); // 1 == 1 -> truevar_dump("1" == "1e0"); // 1 == 1 -> trueswitch ("a") {case 0: echo "0"; break;case "a": // never reached because "a" is already matched with 0 echo "a"; break;}?> ------------------------------------------------------------switch那个例子就很明显了字符串索引不能用“字符串”,但php把它“智能”地处理了变成0 求助:Cannot modify header information - headers already sent by (output started at PHP调用webservice的问题 php单页采集数据问题 php 求一个正则表达式 MS的一道面试题[ZT] Data truncated for column 'spending' at row 1 xdebug调试时崩溃怎么办? 子窗口操作父窗口的form域 怎样删除第一条数据? 各位高手,麻烦请看一下这里 【正则】问个正则分割的问题,在线求解~ PHP中<tr>调用不同的数据库行数ID
数组相关函数不能用于字符串因此 $str["abc"] 中的 "abc" 被转换成数值 0
对于 $str="123456"; 而言 $str["abc"] 就是 $str[0],所以得到 1虽然访问字符串的某个位置可以写作 $str[$i]
但是为防止歧义,php 建议你这么写 $str{$i}
------------------------------------------
<?php
var_dump(0 == "a"); // 0 == 0 -> 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