我无法设法让它发挥作用。我究竟做错了什么?它没有给我任何错误,但它不起作用。
<?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}'");
}
}
?>
答案 0 :(得分:0)
问题在于它在功能中的范围不同。所以在AddDefinition和$ struct外的$ struct是两个不同的变量!函数中的$ struct是一个局部变量,它只存在于函数中。 outsider $ struct是另一个变量。
此页面可能对您有所帮助: http://php.net/manual/en/language.variables.scope.php