一、最简单的
$str = 'Hello World!';
二、来个变种
$str = 'good';
$good = 'test';
$test = 'Hello World!';
echo $$$str; // Hello World!
三、放在引号内的
$str = 'Hello World!';
echo '$str';// $str
echo "$str";// Hello World!
四、list方法来接收
list($a, $b, $c, $d) = array(1, 2, 3, 4);
echo $a, $b, $c, $d; // 1234
五、界定符
$num = '11';
$str = <<<EOT
CREATE TABLE IF NOT EXISTS `tp_info` (
`id` int({$num}) NOT NULL AUTO_INCREMENT,
`name` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1
EOT;
六、高大上的
$toUserName = 'fans';
$fromUserName = 'molaifeng';
$createTime = time();
$msgType = 'text';
$content = '高大上';
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
echo sprintf($textTpl, $toUserName, $fromUserName, $createTime, $msgType, $content);
php变量什么情况下加大括号{}
如:
$sql = "insert into article (`channel_id`,`title`,`detail`,`pub_time`) values ('{$cid}','{$title}','{$detail}','{$time}');";
不加似乎也可以,加{}是什么意思呢?
加{}有时候是为了防止变量名和后面的字符串连在一起
例如
{$cid}dd
如果$cid=aa
那么{$cid}dd=aadd
不加的话你自己看看了$ciddd,岂不变成了ciddd变量了。
PHP: 字符串变量中大括号(花括号{})的作用
PHP 变量后面加上一个大括号{},里面填上数字,就是指 PHP 变量相应序号的字符。
例如:
$str = 'hello';
echo $str{0}; // 输出为 h
echo $str{1}; // 输出为 e
如果要检查某个字符串是否满足多少长度,可以考虑用这种大括号(花括号)加 isset 的方式替代 strlen 函数,因为 isset 是语言结构,strlen 是函数,所以使用 isset 比使用 strlen 效率更高。
比如判断一个字符串的长度是否小于 5:
if ( !isset ( $str{5} ) ) 就比 if ( strlen ( $str ) < 5 ) 好。