PHP数组不能工作什么都没有发生


PHP Array wont work Nothing happens

我无法让这个工作。我做错了什么?它没有给我任何错误,但它不起作用。

<?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}'");
    }
}
?>

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

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