繁体   English   中英

在PHP中的数组内部调用数组变量

[英]Call array variable inside of array in php

我想在当前数组内调用数组变量。 像这样:

$conv= array (
"hello" => array("Hello", "Hi", "Hello, how are you?"),
"helo" => array_merge($conv['hello'])
);
print_r($conv['helo']);

我怎样才能做到这一点。 谢谢。

如果要在创建数组时直接定义函数,则需要将helo值声明为匿名函数 ,将当前数组作为全局变量引用并返回所需的内容

$conv = array(
"hello" => array("Hello", "Hi", "Hello, how are you?"),
"helo" => function() {
        global $conv;
        return array_merge($conv['hello'], array("Bye", "See you"));
    }
);
print_r($conv['helo']());

请注意,当您需要从该函数返回的值时,需要像在$conv['helo']()之上那样调用它,而仅调用$conv['helo']将返回一个Closure对象。

UPDATE

根据您在注释中的要求,似乎您只想通过一个函数获取hello值的副本

$conv = array(
"hello" => array("Hello", "Hi", "Hello, how are you?"),
"helo" => function() {
        global $conv;
        return $conv["hello"];
    }
);
print_r($conv['helo']());

您尝试构建阵列的方式可能是不可能的。
因为数组直到函数结束才生成; 当您尝试设置“ helo”时,“ hello”未定义。

您需要先设置“ hello”,然后将其复制到“ helo”。

$conv = array("hello" => array("Hello", "Hi", "Hello, how are you?"));

$conv["helo"] = $conv['hello'];
print_r($conv['helo']);

https://3v4l.org/PCJH7

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM