好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php静态数组变量 php定义静态变量

很多站长朋友们都不太清楚php静态数组变量,今天小编就来给大家整理php静态数组变量,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php 为什么常量可以用数组定义 静态变量却不能 2、 php静态数组 3、 php中如何声明一个静态数组 4、 php static 数组能否重写?赋值 php 为什么常量可以用数组定义 静态变量却不能

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

static $a = ABC;

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

php静态数组

解决办法一:

$newarr不要用静态数组,而是在每次递归调用后把返回值(数组)与上一层的$newarr进行合并即可,这样的话不管调用多少次,$newarr都不会保留上次的值

function unless($arr, $fid = 0){

    $newarr=array();

    foreach ($arr as $v){

        if ($v["pid"] == $fid){

            $newarr[] = $v;

            $newarr=array_merge($newarr,unless($arr, $v["did"]));

        }

    }

    return $newarr;

}

解决办法二:

如果参数$fid只有在首次运行(非递归)是为0,在递归调用时都不是0,那么可以根据这个在首次运行时重新初始化$newarr,这样在外部多次调用这个函数都不会保留上次的值

function unless($arr, $fid = 0){

    static $newarr=array();

    if($fid==0)$newarr=array();

    foreach ($arr as $v){

        if ($v["pid"] == $fid){

            $newarr[] = $v;

            unless($arr, $v["did"]);

        }

    }

    return $newarr;

}

如果在递归的时候$fid仍然有可能是0,那么可以新增加一个参数,用来标记是否首次运行:

function unless($arr, $fid = 0, $x=0){

    static $newarr=array();

    if($x==0)$newarr=array();

    foreach ($arr as $v){

        if ($v["pid"] == $fid){

            $newarr[] = $v;

            unless($arr, $v["did"], 1);

        }

    }

    return $newarr;

}

php中如何声明一个静态数组

//可读可写方式(推荐)

class testarray{

public static $arr = array();

}

testarray::$arr['key1'] = 'value1';

testarray::$arr['key2'] = 'value2';

print_r(testarray::$arr);

//define只读方式

$array = array(1,2,3,4,5);

define('STATIC_ARRAY', serialize($array));

print_r(unserialize(STATIC_ARRAY));

php static 数组能否重写?赋值

public static $SKILL_ARRAY = array("专业知识","素质能力");

因为是public,所以可以修改的

className::$SKILL_ARRAY = array("php","php");

关于php静态数组变量的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php静态数组变量 php定义静态变量的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did210606
更新时间:2023-05-03   阅读:27次

上一篇: blob图片上传php blob存图片

下一篇:php取出数组的值 php获取数组元素个数

相关资讯

最新资料更新

  • 1.php显示字段内容 php限制显示字数
  • 2.mac安装php扩展 mac系统安装php环境
  • 3.php函数补全 php自动补全
  • 4.phprsa密钥拼接 rsa加密解密
  • 5.php配置外网访问 phpstudy外网映射
  • 6.php导出cvs php导出csv大数据
  • 7.php_syntax的简单介绍
  • 8.php异步协程 php yield 异步
  • 9.php怎么使用css php怎么使用数据库锁
  • 10.仿win桌面php源码 仿windows桌面
  • 11.phpsessions phpsession使用
  • 12.php大马离线版 php大马shell提权
  • 13.php常量乱码 phpstorm乱码
  • 14.php判断多个字符串 php判断字符串包含字符
  • 15.php拼音模糊查询 php模糊搜索功能
  • 16.iPad上装php iPad上装修建模app
  • 17.抓取淘宝商品php 抓取淘宝商品风控
  • 18.php项目基本流程 php项目如何运行
  • 19.exec-php下载 php exe
  • 20.php在线做点兼职 php在线做点兼职是真的吗

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]