gpt4 book ai didi

PHP - 常量数组

转载 作者:行者123 更新时间:2023-12-04 05:07:52 26 4
gpt4 key购买 nike

我有一个小的 PHP 脚本,可以在其中使用全局变量。其中一个全局变量是一个数组,它只包含要解包但不会被几个不同函数修改的值。如果脚本不断扩展,拥有全局数组的想法有点令人不安。有什么方法可以将全局数组转换为常量、不可修改的值?如果是这样,我是否仍然可以使用 implode()功能就可以了?

最佳答案

PHP 常量不支持高级数据结构,因此无法将数组存储为常量的值。除非你像你提到的那样做,通过爆炸字符串。

有几个全局变量(称为超全局变量)可在所有 PHP 范围内使用:

  • $_GET
  • $_POST
  • $_REQUEST
  • $_SERVER
  • $全局

  • 我强烈建议使用 $GLOBALS ,并将您的数组放在该数组中。它将立即在任何函数、类或包含的文件中可用。
    <?php
    $GLOBALS['my_arr'] = array('key1' => 'val1', 'key2' => 'val2');

    function my_func() {
    return $GLOBALS['my_arr']['key1'];
    }

    print my_func(); // prints: val1

    虽然你可以序列化一个常量的值或在你想从中获取一个值时分解它,但请记住,转换操作确实需要时间。当您可以简单地将值附加到 $GLOBALS 时,序列化数组、反序列化字符串或分解字符串都是非常不必要的操作。 .如果您需要在脚本中引用来自三个不同范围的单个值,您将被迫取消序列化或分解三个不同的时间。这会占用更多内存,最重要的是,会占用处理时间。

    关于PHP - 常量数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15278961/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com