douhao6271 2014-11-05 07:28
浏览 33
已采纳

为什么$ string [0] =''不会导致$ string [0] ===''?

$s = 'abc';
$s[0] = '';
if ($s[0] !== '') {
    echo 'emmm';
}

Why $string[0] = '' is not resulting $string[0] === ''?

seems like $string[0] === "\0", but more confusing..

  • 写回答

4条回答 默认 最新

  • dongye9191 2014-11-05 08:00
    关注

    $s[0] gives access to a single character of the string. '' is not a character, it's a string, so the assignment fails. You get the exact same behavior if you try to assign FALSE to $s[0]. It looks like PHP does its best to convert whatever value you assign into a single character. If you assign a non-empty string, it will use the first character. If you assign a number, it will use the first digit. If you assign the value TRUE, it will use 1.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题