Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP访问数组元素,得到奇怪的结果_Php_Arrays - Fatal编程技术网

PHP访问数组元素,得到奇怪的结果

PHP访问数组元素,得到奇怪的结果,php,arrays,Php,Arrays,我正在编写一个PHP文件,包含在一堆进行授权检查的页面中。我正在使用debug\u backtrace()确定用户试图加载的页面。然后分解文件路径字符串并读取该数组中的最后一个元素以获取页面名称。出于某种原因,当我使用sizeof($refererrarray)-1访问最后一个元素时,我得到的页面追加了一个1。例如,我想要的页面是CreateEntry.php,但它会响应CreateEntry.php1。出于某种原因,当我将access变量切换到(sizeof($refererrarray)-2

我正在编写一个PHP文件,包含在一堆进行授权检查的页面中。我正在使用
debug\u backtrace()
确定用户试图加载的页面。然后分解文件路径字符串并读取该数组中的最后一个元素以获取页面名称。出于某种原因,当我使用
sizeof($refererrarray)-1
访问最后一个元素时,我得到的页面追加了一个1。例如,我想要的页面是
CreateEntry.php
,但它会响应
CreateEntry.php1
。出于某种原因,当我将access变量切换到
(sizeof($refererrarray)-2
时,我得到了正确的行为,但当我回显它时,它是错误的字符串

$backtraceArray = debug_backtrace();
$referrerArray = explode('/', $backtraceArray[0]['file']);
$lastElementIndex = sizeof($referrerArray) - 1;
$referrerPage = $referrerArray[$lastElementIndex];

if ($referrerPage != "CreateMenuEntry.php") {
    die();
}
print_r($size);
print_r($referrerArray[5]);
print_r($referrerArray[$size]);
我的输出看起来像

"5CreateMenuEntry.phpCreateMenuEntry.php1"

有什么想法吗?

哪里定义了
$size
?我认为
1
来自脚本中的其他地方。如果您想提供它,请在
print\r
之后回显一些内容。您在做什么?:-)
如果($refererpage!=“CreateMenuEntry.php”){
是正确的代码流还是错误的代码流?必须在错误的流上调用您的
print\r
s?或者在任何情况下?现在,您的调试条件和输出对我来说都非常奇怪
rtrim($your_var,'1');
如果没有附加1,这将不会起任何作用,如果有附加1,将删除它。