PHP在函数中增加一个变量。该函数在for循环中运行。重置为0?

时间:2014-06-07 11:12:52

标签: php increment

您好我有一个非常简单的PHP函数,它在运行时总是返回值1.我需要将变量$ board的值增加到1,2,3,4,5,6,依此类推。无法在这里发现错误?

function poste() {

            $board++;
            echo $board;

            global $sourcedir;

            require_once($sourcedir . '/Subs-Post.php');

            $msgoptions = array(
                    'id' => 0,
                    'body' => 'Welcome',
                    'subject' => 'Welcome To The Boards',
            );
          $topicoptions = array(
                    'id' => 0,
                    'board' => $board,
                    'poll' => null,
                    'lock_mode' => 0,
                    'sticky_mode' => 0,
                    'mark_as_read' => false,
            );


            $posteroptions = array(
                    'update_post_count' => 1,
            );

            createPost($msgoptions, $topicoptions, $posteroptions);
    }

    for($board = 1; $board <= 3; $board++ ){
    $board++;
    echo $board;
    poste();
    }

1 个答案:

答案 0 :(得分:2)

$board循环中的

for在您的函数中不同。函数是“子程序”,因此它是一个不同的变量。

使用类似poste($board)的内容。

function poste($board) {

        $board++;
        echo $board;

        global $sourcedir;

        require_once($sourcedir . '/Subs-Post.php');

        $msgoptions = array(
                'id' => 0,
                'body' => 'Welcome',
                'subject' => 'Welcome To The Boards',
        );
      $topicoptions = array(
                'id' => 0,
                'board' => $board,
                'poll' => null,
                'lock_mode' => 0,
                'sticky_mode' => 0,
                'mark_as_read' => false,
        );


        $posteroptions = array(
                'update_post_count' => 1,
        );

        createPost($msgoptions, $topicoptions, $posteroptions);
}

for($board = 1; $board <= 3; $board++ ){
$board++;
echo $board;
poste($board);
}

这应该有用。