插入php的字符串索引数组元素时(5.3.3,win32)以下行为可能是预期的或非预期的:

$ha = array('key1' => 'Hello to me');

print $ha['key1'];   # correct (usual way)print $ha[key1];     # Warning, works (use of undefined constant)

print"He said {$ha['key1']}"; # correct (usual way)print"He said {$ha[key1]}";   # Warning, works (use of undefined constant)

print"He said $ha['key1']";   # Error, unexpected T_ENCAPSED_AND_WHITESPACEprint"He said $ha[ key1 ]";   # Error, unexpected T_ENCAPSED_AND_WHITESPACEprint"He said $ha[key1]";     # !! correct (How Comes?)

最后一行似乎是正确的PHP代码。有什么解释吗?是否可以信任此功能?

编辑:为了减少误解,发帖点现在设置为粗体。

See also:stackoverflow.com/questions/27742321/…

是的,你可以相信。文档中很好地介绍了变量的所有插值方法。

如果你想知道为什么这么做的原因,我不能帮你。但和往常一样:PHP是老的,已经发展了很多,因此引入了不一致的语法。

nikic I CAN",找到这个应用案例(W/O卷曲牙套)在文档在哪儿?谢谢,RBO

马里奥:@个人我认为它不可能是好的,但很多人把它是好的那部分>。

"橡胶靴:看出来:echo"He drank some $juices[koolaid1] juice.".PHP_EOL;本线。

heaps大学的优点和缺点。我喜欢一个人/ PHP字符串Perl语法printf风格的插值方法在Python或Ruby。它使代码更可读和maintainable。它提供的信息。exploitable邋遢的程序员写SQL语句太容易。然而,更好的比单率微优化。

nikic:好的,谢谢!

"玛丽,我来(Live在安静的Perl Perl)和插值,使事情更可读。在DMF中的PHP(dearly交叉算子的特征)是P系列(率)>Q QQ { },{ },{ } { } QX,量子阱。所以(我)不作为字符串插值可能是有用的,因为它是在PHP。:-(

"橡胶靴:好的,也有NOWDOCHEREDOC和PHP。虽然他们可能不是很好,但他们通常以相同的用途,他们don’t?

"nikic人服务的,正确的。但不是在一个单一的线。的Perl:比较X美元= {的文本} $ QQ;

"橡胶靴:是的,我承认,它是我的。他……bulky。最小的三和四线,它在函数调用,是必需的。

当你思考它,它种在抽象理解女孩的方式。当你有一个字符串的数组,它expects,现在整个事情已经在一个字符串,变量的名字是我们的interpolated本身,但有更多的报价方括号是多余的。它的理解是有价值的interpolated变量名而不是在方括号,除非它是interpolated起飞一个美元符号。至少这是我如何解释这个特征,它似乎是合理的逻辑,给我。

是的,这是定义良好的行为,并且始终查找字符串键'key',而不是(可能未定义的)常量key的值。

例如,考虑以下代码:

$arr = array('key' => 'val');

define('key', 'defined constant');

echo"\$arr[key] within string is: $arr[key]";

这将输出以下内容:

$arr[key] within string is: val

也就是说,编写这样的代码可能不是最佳实践,而是使用:

$string ="foo {$arr['key']}"

$string = 'foo ' . $arr['key']

语法。

最后一个是由php标记器处理的特殊情况。它不查找是否定义了该名称的任何常量,它始终假定字符串文本与php3和php4兼容。

只是为那些感兴趣的(没有人会想要……):a T_STRINGPHP生成的数组的索引(或如果它是一个非T_NUM_STRING十进制数溢出的T_CONSTANT_ENCAPSED_STRING)而不是正常的。

要回答您的问题,是的,是的,它可以,而且非常像内爆和爆炸,PHP是非常宽容的…所以矛盾比比皆是

我不得不说,我喜欢PHP的插值,它可以将变量以菊花的形式插入字符串中,

但是,如果只使用单个数组的对象进行字符串变量插值,则编写一个模板可能会更容易,您可以将特定的对象变量菊花打印到模板中(如javascript或python),从而对应用于字符串的变量范围和对象进行显式控制。

我觉得这家伙的指纹对这类事情很有用

http://www.frenck.nl/2013/06/string-interpolation-in-php.html

$values = array(

'who'   => 'me honey and me',

'where' => 'Underneath the mango tree',

'what'  => 'moon',

);

echo isprintf('%(where)s, %(who)s can watch for the %(what)s', $values);

// Outputs: Underneath the mango tree, me honey and me can watch for the moon

链接报告a 404错误

php array 插值,PHP中的关联数组的插值(双引号字符串)相关推荐

  1. PHP中遍历关联数组的方法

    下面介绍PHP中遍历关联数组的三种方法: foreach <?php $sports = array( 'football' => 'good', 'swimming' => 've ...

  2. 《编程珠玑(续)(修订版)》—第2章2.1节Awk中的关联数组

    本节书摘来自异步社区<编程珠玑(续)(修订版)>一书中的第2章,第2.1节Awk中的关联数组,作者[美]Jon Bentley,更多章节内容可以访问云栖社区"异步社区" ...

  3. 关联数组不能转化为JSON字符串

    关联数组不能转化为JSON字符串 转载于:https://www.cnblogs.com/Skate0rDie/p/11416373.html

  4. java的map 使用string数组多了双引号_奥奥奥利给!!!再也不怕面试官问我String源码了!来吧...

    简述 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了String 类来创建和操作字符串.字符串缓冲区支持可变字符串.因为String对象是不可变的,因此可以共享 ...

  5. php双引号表示什么,PHP中的单引号和双引号字符串有什么区别?

    PHP中的单引号和双引号字符串有什么区别? 我不是PHP编程的专家,但我有点困惑为什么我在PHP中看到一些代码用单引号放入字符串,有时用双引号. 我只是在.NET或C语言中知道,如果它是单引号,这意味 ...

  6. Php中单引号双引号包含字符串的区别是,PHP中的单引号和双引号字符串有什么区别?...

    回答(11) 2 years ago PHP strings不仅可以用两种方式指定,而且可以用 four 方式指定 . Single quoted strings几乎完全显示事物"as is ...

  7. php将关联数组输出到前台,如何使用foreach从PHP中的关联数组输出特定数据

    我的关联数组: $products = array(); $products[101] = array( "name" => "Red Shirt", & ...

  8. php中创建关联数组,以及遍历数组

    在这个地方我们将介绍在php中怎样来创建一个关联的数组,并且将数组进行遍历. <!DOCTYPE html> <html> <head> <title> ...

  9. mysql 关联数组_在PHP / MySQL查询中创建关联数组

    我的profileTable中有一个名为"Associations"的列-我正在尝试查询与关联相关的配置文件. $sql = mysqli_query($con,"SEL ...

最新文章

  1. 带有中文的字符串各个字符的获取c++程序
  2. kafka与zookeeper关系
  3. NO.18 使用MVC实现的hello world!
  4. 用JSON和Javscript的prototype来构建完善的Javascript面向对象表示法
  5. Centos7.x 安装 Supervisord
  6. 4.从单应矩阵中分离得到内参和外参(需要拍摄n=3张标定图片)
  7. 【Python】map()函数
  8. linux 环境变量 term,linux – TERM环境变量未设置
  9. php实习生很苦吗,实习生就该被欺负做又累又苦的活吗?!
  10. 【HDU - 6016】Count the Sheep (思维,类似二分图)
  11. ubuntu 安装chrome浏览器
  12. 机器学习十大算法都是何方神圣?看完你就懂了
  13. 如何让微信好友永远拉黑不了你?
  14. 计算机云处理器,IBM推出最新量子处理器 等于6.5万比特普通计算机
  15. php两段音频合成一个,使用PHP合并MP3文件的类,兼容php4、php5
  16. 电脑广告弹窗如何操作过滤屏蔽,经验技巧!怎样设置弹窗自动拦截?
  17. Linux C 函数指针应用---回调函数
  18. NodeJS 基础 API
  19. 回溯问题一:地图涂色,四色定理证明
  20. 完美国际真数苹果_苹果 or 谷歌,到底谁的设计更好?

热门文章

  1. mylyn提交到JIRA的日期格式错误
  2. 超柔磨绒印花空调被(200*230cm) -凡客诚品工商银行团购专区- VANCL凡客诚品
  3. oracle数据库建表、修改字段名称类型、增加字段、ID自动增长写法
  4. 【POJ】1276 Cash Machine 【背包问题】
  5. Visual Entity 手册(二)安装
  6. 读书:海明威的《老人与海》
  7. 5.3(将千克转换成磅)
  8. centos安装rpm格式jdk
  9. es6遍历树结构并判断_实现树形结构数据 es6
  10. 系统辨识的最小二乘法原理及其算法实现