doubipiao1611 2011-06-20 13:32
浏览 51

PHP和访问字符串就像关联数组

Is that logical behavior?

$str = 'string';  
$res = $str['some_key'];  
echo (int)isset($str['some_key']); // 1  
echo $res; // 's'  

It's a bug or unclear feature?

  • 写回答

2条回答 默认 最新

  • duanlu9970 2011-06-20 13:35
    关注

    It is a "feature". When using $string[$index], $index is treated as integer, so 'some_key' is converted to 0. That's also why you get 's' (first letter of $str) in $res.

    $str = 'Lorem';
    var_dump($str['key']); // L, because (int)'key' is 0
    var_dump($str['0key']); // L
    var_dump($str['1key']); // o, because (int)'1key' is 1
    var_dump($str['2key']); // r
    var_dump($str['3key']); // e, because (int)'3key' is 3
    var_dump($str['4key']); // m
    var_dump($str['5key']); // Notice:  Uninitialized string offset: 5 in sandbox\index.php on line 20
    
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么