2015-09-04 5 views
0

Есть ли способ присвоить значение ассоциативному массиву без создания другого измерения с числовым массивом?Назначение значения многомерному ассоциативному массиву

$ champion [$ row ['Champion']] ['New'] = $ row ['New'];

массив как этот

enter image description here

'Новый' Как я могу получить это значение?

$champion=array(); 

        $champions_table= $conn->prepare("SELECT Champion, New, Passive, Q, Q2, W, W2, E, E2, R, R2 FROM champions Where Patch_No = ? ORDER BY ID ASC"); 
        $champions_table->bind_param('s', $Patch_No); 
        $champions_table->execute(); 
        $champions_table_result = $champions_table->get_result(); 

while($row = $champions_table_result->fetch_assoc()){ 
         //Getting General Changes 
         $champion[$row['Champion']]['New'] = $row['New']; 
} 
+0

Извинения, если я недоразумение, но вы можете присвоить новое значение массиву '$ existi ngarray ['new'] = $ whateveryouw'' – mattslone

+0

@mattslone Как я могу получить указанное значение? Я пробовал делать что-то вроде echo $ чемпионов [$ row ['Champion']] ['New']; без успеха – Higeath

+0

Нет, я просто хочу знать, является ли значение «Новое» равным 0 или 1 для этого specyfic чемпиона, поэтому echo $ champion ['Something'] ['New'], и я хочу получить 1 или 0 из этого – Higeath

ответ

1

Для того чтобы получить все значения.

foreach ($champion as $key => $value) { 
    echo "Champion : ".$key." Value: ".$value['New']." <br />\n"; 
} 

если вы знаете фамилию чемпиона

echo $champion['championname']['New'] <br />\n"; 

пример

echo $champion['Blitzcrank']['New'] <br />\n"; 

Если вы хотите массив из 3 Размер немного расширилась до более легко увидеть, как он назначен

while($row = $champions_table_result->fetch_assoc()){ 
     $value = $row['Champion']; 
     $champion['Champion'][$value]= array('New' => $row['New']); 
} 

получить значение

echo $champion['Champion']['Blitzcrank']['New'] <br />\n";  
+0

echo $ Чемпион ['championname'] ['New'] Я пробовал это, и я знаю имя чемпиона, и я получаю undentified индекс – Higeath

+0

@Higeath, пожалуйста, посмотрите мое обновление. –

+0

@Higeath: не могли бы вы дать ответ? –

0

Предполагая, что это результат из базы данных:

$row = array('Champion' => 'champ', 'New' => '1');

Это должно работать:

$champion[$row['Champion']]['New'] = $row['New']; 
echo $champion[$row['Champion']]['New']; 

И если выход 1

+0

OP с использованием '$ champion [$ row ['Champion']] ['New'] = $ row ['New'];' so '$ champion ['?']' Становится значением '$ row ['Champion '] '!! –

+0

Правильно .. мой ответ не отражает это? Я просто повторяю все текущие записи из базы данных. – mattslone

+0

это будет работать только внутри цикла. ('$ Row' действует внутри цикла) OP хочет значение после цикла, например. 'echo $ champion ['Blitzcrank'] ['New']; ваш пример будет работать как' echo $ champion ['champ'] ['New']; 'И это то же самое, что и мой ответ. –

Смежные вопросы