[PHP][Basic]字符串中的变量调用
描述
单引号:无法在单引号中调用到变量值。
双引号:当用双引号或者定界符指定字符串时,其中的变量会被解析。
如果遇到美元符号($),解析器会尽可能多地取得后面的字符以组成一个合法的变量名;如果想明示指定名字的结束,用花括号把变量名括起来。
复杂(花括号{})语法可以在字符串中包含任何在名字空间的值:仅仅用和在字符串之外同样的方法写一个表达式,然后用 { 和 } 把它包含进来。
因为不能转义“{”,花括号语法仅在$紧跟在 { 后面时被识别(用“{\$”或者“\{$”来得到一个字面上的“{$”)。
花括号语法同样也可以解析数组索引或者对象属性:对于数组索引,右方括号(])标志着索引的结束。对象属性则和简单变量适用同样的规则。

<?php 
/*
* description: 字符串中的变量解析示例 
* @author Sandy Lee 
*/ 
  
// 简单变量调用 
$fruit= "apple"
echo "We have an $food";//(=>We have an apple) 
echo "We have some ${food}s";//(=>We have some apples) 
echo "We have some {$food}s";//(=>We have some apples) 
  
// 数组调用 

$fruits = array('strawberry' => 'red', 'banana' => 'yellow'); 
echo "A banana is $fruits[banana].";// (=>A banana is yellow.) 
echo "A banana is {$fruits['banana']}.";// (=>A banana is yellow.) 
echo "A banana is {$fruits[banana]}.";// (=>A banana is yellow.)        
echo "A banana is $fruits['banana'].";// (=> wrong!) 
  
$arr = array('a' => array('a1' => 'a-1', 'a2' => 'a-2'), 'b' => array('b1' => 'b-1', 'b2' => 'b-2')); 
echo "arr: {$arr['a']['a2']}";//(=> arr: a-2) 
  
// 类的调用 

class foo 

    
var $foo
    
var $arr
  
    
function foo() 
    { 
        
$this->foo = 'Foo'
        
$this->arr = array('a' => array('a1' => 'a-1', 'a2' => 'a-2'), 'b' => array('b1' => 'b-1', 'b2' => 'b-2')); 
    } 

  
$c = new foo(); 
echo "foo: $c->foo";//(=> foo: Foo) 
echo "foo: {$c->foo}s";//(=> foo: Foos) 
echo "foo arr: {$c->arr['a']['a2']}";//(=> foo arr: a-2) 
?>
posted on 2006-12-15 15:52 jackstudio 阅读(646) 评论(0)  编辑  收藏 所属分类: php

只有注册用户登录后才能发表评论。


网站导航: