<?php

$GLOBALS['arr'] = array(1=>1,2=>2);

define("ABC",$GLOBALS['arr'][1]); # 这个定义可以

class test{

static  $a = $GLOBALS['arr'][1]; # 这个初始化有语法错误

}

类的变量成员叫做“属性”,或者叫“字段”、“特征”,在本文档统一称为“属性”。属性声明是由关键字 public,protected 或者 private 开头,然后跟一个普通的变量声明来组成。属性中的变量可以初始化,但是初始化的值必须是常数,这里的常数是指 PHP 脚本在编译阶段时就可以得到其值,而不依赖于运行时的信息才能求值

http://php.net/manual/zh/lang…

static $a = ABC;

就像其它所有的 PHP 静态变量一样,静态属性只能被初始化为文字或常量,不能使用表达式。所以可以把静态属性初始化为整数或数组,但不能初始化为另一个变量或函数返回值,也不能指向一个对象。

http://php.net/manual/zh/lang…

只支持字面量

只能是字面上的常量,就是这个值在编译阶段就能确认而不是在运行阶段才被确认。

评论里不能发图片。所以写成答案。

@TIGERB 的说法是错误的。静态变量可以是数组。

@苏生不惑 的答案是正确的。静态变量不能引用其他变量。因为静态变量在php解释引擎加载这个类的时候,就已经会去给静态变量赋值了。但是这个时候,这个静态变量如果引用了其他变量,那个变量可能还没初始化。所以PHP规定静态变量的初始值不能为其他变量。

如图:

php数组能不能静态,php 为什么常量可以用数组定义 静态变量却不能相关推荐

  1. vue 怎么全局到入常量_Vue 中如何定义全局的变量和常量(转)

    17.6k 次阅读  ·  读完需要 10 分钟 7 Vue 中如何定义全局的变量和常量 我想要定义一个变量, 在项目的任何地方都可以访问到, 不需要每一次使用的时候, 都引入. 尝试1: 创建 gl ...

  2. iOS定义静态变量、静态常量、全局变量

    原文链接: iOS定义静态变量.静态常量.全局变量 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://github.com ...

  3. c语言变量作为数组长度,为什么在C中不允许将数组的大小作为常量变量但在C中允许?...

    在C const中,并不意味着"常量"(即,在编译时可评估).它只是意味着只读. 例如,在一个函数中,这个: const int r = rand(); const time_t ...

  4. c#只读字段和常量的区别,以及静态构造函数的使用 .

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  5. 【濡白的C语言】初学者-从零开始-2(常量,一维数组,转义字符)

    目录 常量 字面常量 常变量 标识符常量 枚举常量 数组 字符串数组 字符串结束标志\0 strlen函数 不完全初始化 转义字符 常量 常量,当然与变量想法,变量可以赋值改变,那么常量就是无法改变的 ...

  6. js复习:输出语句,js要不要写标点符号,let ,const(常量),JavaScript 数组,JavaScript 对象

    js复习 1.输出语句 console.log() ,console.dir(),window.alert() 2.js要不要写标点符号? 3.let ,const(常量) 4.JavaScript ...

  7. C++ 笔记(08)— 数组(数组的声明、初始化、访问及修改数组元素)

    数组具有如下特点: 数组是一系列元素: 数组中所有元素的类型都相同: 所有的数组都是由连续的内存位置组成.最低的地址对应第一个元素,最高的地址对应最后一个元素. 1. 一维数组 1.1 声明数组 要声 ...

  8. java 数组 字符串 编程_Java语言基础知识之字符串数组

    Java语言基础知识之字符串数组 java语言中,数组是一种最简单的复合数据类型.数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素.数组有 ...

  9. JAVA数组编程教程,Java入门超经典内部教程-数组

    Java入门超经典内部教程-数组-1.jpg (31.84 KB, 下载次数: 0) 2018-8-18 17:18 上传 叩丁狼教育Java基础教程 1. 数组 1.1. JVM内存模型(掌握) J ...

最新文章

  1. 查看已安装tensorflow版本
  2. 第十四篇:有概率的上下文无关语法Probabilistic Context-Free Grammar
  3. android 版本控制
  4. x window的奥秘
  5. java调用存储过程
  6. C#调用WebService
  7. [SpringSecurity]web权限方案_用户认证_设置用户名密码
  8. TFS2010映射工作区问题 路径 XXX 已在工作区 XXX;XXX 中映射
  9. pip加速+百度镜像|清华镜像
  10. jQuery的radio,checkbox,select操作
  11. C++笔记-lambda表达式需要注意的地方
  12. linux的shell键盘输入,linux shell获取键盘输入
  13. jquery easyui里datagrid用法记录
  14. FFmpeg总结(六)AV系列结构体之AVPacket
  15. Linq的内部执行原理浅析
  16. 产品读书《演讲的力量》
  17. recordcount=-1的原因以及解决方法
  18. # 杂谈偶感 × 基于QFD方法的质量屋构建
  19. 马踏棋盘问题的程序c语言,C语言马踏棋盘
  20. OS课程 ucore_lab1实验报告

热门文章

  1. “视网膜”重装来袭 AI技术为视频业务场景赋能
  2. 争分夺秒:阿里实时大数据技术全力助战双11
  3. 报告:69% 的企业表示云技术有助于他们的疫情恢复
  4. 上手 Docker 容器,不应该是个问题
  5. 如何给女朋友解释什么是撞库、脱库和洗库?
  6. 云+X案例展 | 电商零售类:云徙助力良品铺子「双11」
  7. 奇葩面试官让我回去等通知!看我怎么虐他!
  8. 豪投10亿!华为放话:3年培养100万AI人才!网友神回应了
  9. 年初新立Flag,新华三解决方案部做了点儿啥?
  10. android xml左边,Android XML – 如何将项目对齐到最左侧,中间和最右侧