我没有创建一个简单的语言函数,我做错了什么


I failed at creating a simple language function, what am I doing wrong?

我试图创建一个简单的语言函数,但我不能让它工作。这个想法应该很清楚。我没有得到任何错误信息,但它也不会显示我的文本。这是我的代码:

公司/text.php:

<?php
$show = array(
"welcome" => "Welkom @ ....", 
'test' => true 
);
function show($foo) {
echo $show[$foo];
}
?>

index . php:

<?php show("welcome"); ?>

在函数内设置$show array全局作用域,并返回不回显的值

<?php
$show = array(
"welcome" => "Welkom @ ....", 
'test' => true 
);
function show($foo) {
global $show;
return $show[$foo];
}
?>
<p><?php echo show("welcome"); ?></p>

在我看来,您将$show声明在function show($foo)的范围之外

要么在函数内部声明$show,要么这样做:

$show = array(); //blah blah
function show($foo)
{
    global $show;
    echo $show[$foo];
}

您需要声明SHOW数组,以便从函数中访问它。

你有几个方法可以做到这一点

    全局变量
  • 像参数一样传递
  • 在函数中声明数组

函数内部声明示例

function show($foo) {
  $show = array(
    "welcome" => "Welkom @ ....", 
    'test' => true 
  );
  echo $show[$foo];
}

你不需要一个函数:

<?php echo $show["welcome"]; ?>

应该已经完成了。如果没有帮助,请告诉我原因。