我想在当前数组中调用数组变量。像这样:
$conv= array (
"hello" => array("Hello", "Hi", "Hello, how are you?"),
"helo" => array_merge($conv['hello'])
);
print_r($conv['helo']);
我该怎么做? 感谢。
答案 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']);