2016-06-05 2 views
-2

У меня есть этот массивэхо из значений массива в ссылке

[chest] => Array(
    [id] => 125835 
    [name] => Warmongering Gladiator's Chain Armor 
    [icon] => inv_chest_mail_raidhunter_p_01 
    [quality] => 4 
    [itemLevel] => 710 
    [tooltipParams] => Array(
          [set] => Array(
            [0] => 125835 
            [1] => 125838 
            [2] => 126038) 

          [transmogItem] => 71464 
          [timewalkerLevel] => 100 
           ) 

Я эхо вне [ID], [значок], [качество], [комплект]

$items = $r['result']['items']; 
echo 'chest: ID=' . $items['chest']['id'] . ', quality = ' . $items['chest']['quality'] . ', icon = ' . $items['chest']['icon'] . "\n"; 
foreach($items['legs']['tooltipParams']['set'] as $value){ 
    echo ''.$value.':';  
} 

сейчас Мне нужно отобразить информацию в html-ссылке. Я пробовал так:

echo "<a href="//www.wowhead.com/item=. $items['chest']['id'] ." class=". $items['chest']['quality'] .pcs=. $value ."><img src="http://www.wow.zamimg.com/images/wow/icons/large/. $items['chest']['icon'] ." alt="some_text"></a>" 
+2

Ваши котировки необходимо посещать. Вы можете видеть из подсветки синтаксиса. –

ответ

0

Как первый комментарий указывает, что вам нужно, чтобы избежать двойных кавычек, которые вы хотите, чтобы сделать, как HTML. Кроме того, необходимо разграничить индексы массива в пределах ваших двойных кавычек в фигурных скобках, так что PHP знает, что $items['chest']['icon'] относится к определенному значению, и не пытается разобрать $items сам по себе:

echo "<a href=\"//www.wowhead.com/item={$items['chest']['id']}\" class=\"{$items['chest']['quality']}\" pcs=\"$value\"><img src=\"http://www.wow.zamimg.com/images/wow/icons/large/{$items['chest']['icon']}" alt=\"some_text\"></a>"; 

Пар дополнительного вещи, чтобы отметить:

  1. Если значения внутри $items['chest'] являются любой вид пользовательского ввода, будьте осторожны, чтобы избежать их, используя htmlspecialchars() до рендеринга, чтобы предотвратить XSS
  2. Это хороший пример использования для sprintf() ИМХО, whic h устраняет необходимость ускорения двойных кавычек и разграничения массивов.
Смежные вопросы