我有这样的东西:
<?php
function send_pm(){
$text = "print this text on screen";
}
if(function_exists('send_pm')){
send_pm();
global $text;
echo $text;
}
?>
我的目的是在send_pm中显示消息,使用它自己的数组,已经在函数上定义。如您所见,如果实际执行此脚本,它将不返回任何内容。我不明白为什么会发生这种情况,因为我已经定义了$text变量。
谢谢大家
将send_pm()函数调整为:
function send_pm(){
global $text;
$text = "print this text on screen";
}
也就是说,我强烈建议不要使用全局变量,因为它不是最好或最安全的方法。
如果我正确理解了您的要求,您可以尝试这样做:
function send_pm($msg_id) {
$messages = array(
'msg1' => 'print this text on screen',
'msg2' => 'print this other text on screen',
'msg3' => 'etc',
);
return $messages[$msg_id];
}
if (function_exists('send_pm')) {
echo send_pm('msg1');
}