PHP:在上下文中不能使用函数返回值 - 错误

时间:2014-06-20 01:44:44

标签: php arrays return

我不太确定究竟是什么,我做错了,我确实检查了其他问题,而我所推断的只是返回(称为"空&#34) ;)只支持变量,虽然这并没有真正改变任何东西。

当我运行代码时,我的代码中出现了一个非常奇怪的错误,并且无法对其进行反复试验。

Fatal error: Can't use function return value in write context in /home/shortcu1/public_html/projects/friendcodes/newUser.php on line 103

这是被调用的主要功能。 (在名为 newUser.php 的文件中)

function isBumping($forumid, $username, $premium){
    if($premium == 'true'){
        $file = file_get_contents('plist.txt'); // This is the file I'm testing on
        echo 'Running code as premium<br>';
    } else {
        $file = file_get_contents('list.txt');
    }
    $forumid = $forumid.':'.$username;
    $posts = explode(' ', $file);
    $posts ($info, $bump) = array_filter($posts, function($item) use ($forumid, $posts){
        // This will check for matching forum ID
        if(strpos($item, $forumid) !== true){
            $pos = strpos($item, ':Day-');
            $pos = $pos + 5;
            $day = (int) substr($item, $pos, 1); // Converts the stored date to a numerical value. remember 1 = monday, 7 = sunday
            $today = date('N');
            $bump = false;
            if(($day+3) % 7 > $today){
                // Old enough to re-bump
                return array ($item, $bump);
            } else {
                // Too recent to re-bump
                $bump = true;
                return array ($item, $bump);
            }
        }
    });
    print_r($posts[1]);
    echo '<br>';
    print_r($posts[2]);

}

正在运行文件 test.php

include('newUser.php');
isBumping(1, 'Spitfire', 'true')

名为 plist.txt 的文件如下:

  

1:喷火:日-4:8JX-UKR8:8JX-UKR8:精神:90   1:喷火:日-4:8JX-UKR8:8JX-UKR8:精神:90   1:喷火:日-4:8JX-UKR8:8JX-UKR8:精神:90   1:喷火:日-4:8JX-UKR8:8JX-UKR8:精神:90

2 个答案:

答案 0 :(得分:3)

array_filter返回包含数组中所有非空元素的数组。

您不能使用$post($a, $b) 尝试更改为变量

只需 $ post

答案 1 :(得分:2)

尝试更改

$posts ($info, $bump) =

$posts =