php中$$符号的定义与作用

在PHP中单个美元符号变量($str),表示一个名为str的普通变量,它可以存储字符串、整数、数组、布尔等任何类型的值。

双美元符号的变量($$str):表示一个可变变量(也可叫做引用变量),用于存储$str的值。

可变变量:指一个变量的变量名可以动态的设置和使用,利用一个普通的变量通过声明来设置。

注意:PHP 的函数和类的方法中,超全局变量不能用作可变变量。$this变量也是一个特殊变量,不能被动态引用。

例:

$$str;

php中$$符号的使用方法

示例代码:

<?php
$var = 'hello word !';
$str = 'var';
echo $str;
echo $$str;
?>

输出结果:

var
hello word !

说明:

1、$str的变量的值为字符串 var

2、$$str为一个可变变量,$str的值为 var 则 $$str 等同于 $var

示例2:

<?php
$a = 'b';
$b = 'c';
$c = 'a';
echo $a; //输出 :b
echo $b; //输出 :c
echo $c; //输出 :a
echo $$a; //输出 :c
echo $$$a; //输出 :a
echo $$$$a; //输出 :b
?>

示例3:

类的动态实例化

<?php
class data_user {
function age(){
return '10';
}
}
$var = 'data_user';
$a = new $var;
echo $a->age();
?>
//输出结果:10

随机推荐

  1. CentOS6.7安装部署php5(详解安装选项与主配置文件)

    模块安装---PHP 编译环境:gcc  gcc-c++   pcre-devel  openssl-devel   libxml2   libxml2-devel   bzip   bzip-dev ...

  2. 排序算法合集(C++实现)

    摘要 排序操作在程序设计中是非常基础和常见的,也是算法的基础部分,我对几种常见的比较排序算法进行了整理. 暴力排序(violence sort) 思想:遍历数组,每次遍历都在未排序的部分找到最小元素的 ...

  3. js--同步运动json上

    如何实现几个属性的同时变化?这个问题需要运用到json,这里我们先来简要的介绍一下json json的形式是这样的,他的元素是有一对对的键值对组成的{name1:value1,name2:value2 ...

  4. OSX Homebrew 安装 Spring Boot CLI

    OSX Homebrew 安装 Spring Boot CLI 如果您使用的是Mac并使用Homebrew,则可以使用以下命令安装Spring Boot CLI: $ brew tap pivotal ...

  5. JSP学习之路

    1.JSP默认Encoding编码格式设置:UTF-8

  6. 关于maven导入工程pom文件报错问题及解决

    pom文件头报错 1.导入maven文件,经常遇到表头出错问题.报错:Failure to transfer org.apache.maven.shared:maven-filtering:pom:1 ...

  7. elasticsearch集群搭建-windows

    1.下载elasticsearch到本地并解压 下载地址: https://www.elastic.co/cn/downloads/elasticsearch 解压之后复制两份,node1当作主节点, ...

  8. vscode中配置C#环境

    安装.Net Core SDK 如果已经安装了SDK的话则可以跳过这一步,不然需要安装SDK在进行环境配置:下载链接.NET CORE SDK下载: SDK安装完之后,软件执行界面如下所示 在vsco ...

  9. java stackoverflowerror与outofmemoryerror区别

    1.stackoverflow: 每当java程序启动一个新的线程时,java虚拟机会为他分配一个栈,java栈以帧为单位保持线程运行状态:当线程调用一个方法是,jvm压入一个新的栈帧到这个线程的栈中 ...

  10. Ubuntu使用小结(主要为后面部署K8s集群做基础铺垫)

    包管理 dpkg -L libxml2 #查看libxml2安装了些什么文件 dpkg -s /usr/bin/ls      #查看ls是那个包提供的 dpkg -c abc.deb #查看abc. ...