2012-04-11 47 views

回答

6

因为$ x {$ n}是将字符串$ x当作字符数组的标准语法,其中$ n是该字符中字符的数字索引位置。在你的情况下,索引位置由$ fr标识,这是一个非数字字符串,因此PHP的宽松打字将其转换为整数0,因此回显位置0处的字符...字符串的第一个字符

EDIT

从手动强制性报价:

字符串访问和修改由字符串内

字符可被访问,并通过指定的,从零开始取舍改性在使用方形数组括号的字符串之后使用希望的字符,例如$ str [42]。出于此目的,可以将字符串视为一组字符。当您想要提取或替换多于一个字符时,可以使用substr()和substr_replace()函数。

注意:为了相同的目的,字符串也可以使用大括号来访问,如$ str {42}。

编辑#2

,解答您的评论最新的问题:

我将如何串联变量的名字,因为我在这 问题都给予?

$fr = "hammad"; 
$frhammad = "nuthing"; 
$varName = 'fr'.$fr; 
echo $$varName; 

$fr = "hammad"; 
$frhammad = "nuthing"; 
echo ${'fr'.$fr}; 
+0

那么我将如何连接变量的名称,因为我已经给出了它的问题? – 2012-06-12 07:27:53

0

为可变的变量插值正确的语法是:

$fr = "hammad"; 
$frhammad = "nuthing"; 
echo ${fr.$fr}; 
+0

是啊!这对我有用:) – 2012-06-12 07:30:02

+0

请注意,如果未定义常量“fr”,并且警告已启用,则会发出警告 – 2012-06-12 08:20:40

+0

@MarkBaker,您是对的。也许他忘了提及'fr'周围的行情。 – 2013-02-26 06:26:09

相关问题