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

时间:2017-12-09 17:04:09

标签: php arrays

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

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

我该怎么做? 感谢。

2 个答案:

答案 0 :(得分:2)

如果要在创建数组时直接定义函数,则需要将from turtle import * setup(1000,1000) Screen() title("Turtle Keys") move = Turtle() showturtle() def w(): move.forward(45) def s(): move.back(45) def a(): move.left(45) def d(): move.right(45) onkey(w, "Up") onkey(s, "Back") onkey(a, "Left") onkey(d, "Right") listen() mainloop() 值声明为anonymous function,将当前数组作为全局变量引用并返回所需内容

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值的副本

hello

答案 1 :(得分:0)

您尝试构建阵列的方式可能是不可能的 因为当您尝试设置'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