[英]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']);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.