PHP-如何在不使用全局变量的情况下使用if语句中的变量
我试图从一个函数中提取两个变量值,而不需要使用全局函数,当然我们将在另一页使用这个函数PHP-如何在不使用全局变量的情况下使用if语句中的变量,php,variables,if-statement,Php,Variables,If Statement,我试图从一个函数中提取两个变量值,而不需要使用全局函数,当然我们将在另一页使用这个函数 function get_selected_page() { if (isset($_GET['subj'])) { $sel_subject = get_subject_by_id($_GET['subj']); $sel_page = NULL; } elseif (isset($_GET['page'])) { $sel_page = ge
function get_selected_page() {
if (isset($_GET['subj'])) {
$sel_subject = get_subject_by_id($_GET['subj']);
$sel_page = NULL;
} elseif (isset($_GET['page'])) {
$sel_page = get_page_by_id($_GET['page']);
$sel_subject = NULL;
} else {
$sel_subject = NULL;
$sel_page = NULL;
}
}
变量是$sel_subject和$sel_page您可以从函数返回它们,在数组中:
return array(
'sel_page' => $sel_page,
'sel_subject' => $sel_subject
);
然后像这样使用它:
$vars = get_selected_page();
echo $vars['sel_page'];
您可以使用以下会话:
<?php
$f = function () {
$_SESSION['one'] = 1;
$_SESSION['two'] = 2;
};
$f();
extract($_SESSION);
echo $one, $two;
以数组()的形式返回它们<代码>返回数组($sel_subject,$sel_page)代码>实际上它不起作用,因为我不想回显变量,我只希望它不会给我一个错误,当我捕获函数的值时。所以使用数组并不是最好的方法。我不想重复变量,我想按原样使用整个函数。但是当我使用它的时候。它给了我一个错误,因为他们不能定义变量。所以我只想定义页面的值。再次定义为不捕捉。
<?php
// $one = $two = 0;
$f = function (&$one, &$two) {
$one = 1;
$two = 2;
};
$f($one, $two);
echo $one, $two;