php - 即使设置为全局,PHP 也不能在函数之外使用函数 var
问题描述
这不会与 vars 相呼应
<?php
function myfunc(){
function gettime(){
$date = date('d-m-y h:i:s');
global $date;
}
function getURL(){
$url = $_SERVER['REQUEST_URI'];
global $url;
}
function getrequest(){
$method = $_SERVER['REQUEST_METHOD'];
$request = explode("/", substr(@$_SERVER['PATH_INFO'], 1));
switch ($method) {
case 'PUT':
$requestmethod = 'GET';
break;
case 'POST':
$requestmethod = 'POST';
break;
case 'GET':
$requestmethod = 'GET';
break;
default:
$requestmethod = 'unkown';
break;
}
global $requestmethod;
}
}
myfunc();
echo $requestmethod.$url.$date;
我怎样才能$date
(和所有其他人)了解echo
他们的价值观?
我将它们设置为Global
,即使我放入echo
函数内部,它仍然不起作用。
解决方案
global
必须是第一个,否则在调用时它会覆盖。
例如:
function gettime(){
global $date;
$date = date('d-m-y h:i:s');
}
比较https://3v4l.org/M8P7T和https://3v4l.org/irRHf
如另一个答案所述,尽管您仍然需要调用这些函数。
推荐阅读
- php - 从 laravel 中的一个后缀获取所有会话
- javascript - 如何从数组中删除一个元素并在 FlatList 上没有该元素的情况下更新状态?
- laravel - 通过 FormRequest (Laravel 6) 更新时的验证错误
- python - 如何评估数据集的均值和标准差?
- powershell - 如何不打印,而是使用 Powershell 向打印机发送信号?
- python - 如何在 Visual Studio 中使用 python 设置相对路径?
- javascript - react-table styled-components 从 express js 服务器作为静态应用程序加载时会丢失样式
- ios - 如何限制调用 BGProcessingTaskRequest 的次数?
- c# - C# 再玩一次数字游戏
- java - Picasso 正在加载 URL,但没有显示图片