object — не могу установить пару ключ-значение php, установленную правильно

У меня есть пара ключ-значение, которую я использую внутри класса, но она не возвращает данные так, как я хочу. Я хочу значение в ГБ&Lv находиться в ключевой области, а значение — в области значений. Тем не менее, мои выходные данные отладки, кажется, указывают, что я в настоящее время помещаю значение в раздел ключа пары ключ-значение?

class Player{
var $PlayerName ;
var $TotalContributedPoints;
function GetTotalContributedPoints()
{
$mysqli = new mysqli("localhost", "user", "password", "foe_gb_contribs_test");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

$debug = true;

if ($debug == true) {echo $this->PlayerName.'<br>';}
$QuerySQL = "SELECT * FROM `GB_Contribs` WHERE Player_Nick = '".$this->PlayerName."' order by DATE ASC";
if ($debug == true) {echo 'Query is '.$QuerySQL.'<br>';}
$ContribArray = array("Key" => "Value");
$result = $mysqli->query($QuerySQL);
if ($result->num_rows > 0) {
while($row=$result->fetch_assoc()) {
$ContribArray[$row['GB&Lv']] = $row['Value'];
}
foreach($ContribArray as $key => $value) {
echo "Player_nick: ". $this->PlayerName ."<br>";
echo "Great Building Level: ".$ContribArray[$key]."<br>";
echo "Contribution Points".$ContribArray[$value]."<br>";
}
return $ContribArray;

}  else {
if ($debug == true) {echo "0 results";}
return;
}}

}// END of Player Class

0

Решение

Поскольку вы перебираете массив с помощью foreach, у вас уже есть ключ и значение. Вам не нужно снова обращаться к массиву.

foreach($ContribArray as $key => $value) {
echo "Player_nick: ". $this->PlayerName ."<br>";
echo "Great Building Level: ".$key."<br>";         // not $ContribArray[$key]
echo "Contribution Points".$value."<br>";          // not $ContribArray[$value]
}

Как это, $ContribArray[$key] получает вам значение, и я бы предположил, $ContribArray[$value] ничего тебе не дает. На самом деле, похоже, что это может привести к неопределенному индексу уведомления.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]