PHP数组不会工作没有任何事情发生

时间:2015-08-22 07:21:12

标签: php

我无法设法让它发挥作用。我究竟做错了什么?它没有给我任何错误,但它不起作用。

<?php

class GameStruct
{
    public $Name;
    public $Game;
    public $NoticeLeave;

    public function Init($n, $g, $nl)
    {
        $Name = $n;
        $Game = $g;
        $NoticeLeave = $nl;
    }
}

$struct = Array();

function AddDefinition( $name, $game, $notice )
{
    $instance = new GameStruct;
    $instance->Init( $name, $game, $notice );
    $struct[] = $instance;
}

AddDefinition( "leavecsgo", "csgo", "Du har nu lämnat CS:GO-turneringen!" );
AddDefinition( "leavesmite", "smite", "Du har nu lämnat Smite-turneringen!" );
AddDefinition( "leavefifa", "fifa", "Du har nu lämnat Fifa-turneringen!" );
AddDefinition( "leavehearthstone", "hearthstone", "Du har nu lämnat Hearthstone-turneringen!" );
AddDefinition( "leavedota2", "dota2", "Du har nu lämnat Dota2-turneringen!" );

for($i = 0; $i < count($struct); $i++)
{
    if(!isset($_POST[$struct->name]))
    {
        $sql = $con->query("DELETE FROM comp_user WHERE Username='{$Username}' AND Game='{$struct->game}'");
    }
}
?>

1 个答案:

答案 0 :(得分:0)

问题在于它在功能中的范围不同。所以在AddDefinition和$ struct外的$ struct是两个不同的变量!函数中的$ struct是一个局部变量,它只存在于函数中。 outsider $ struct是另一个变量。

此页面可能对您有所帮助: http://php.net/manual/en/language.variables.scope.php