【问题标题】:Perl : Printing a hash with multiple values for single keyPerl:为单个键打印具有多个值的哈希
【发布时间】:2014-09-19 18:17:31
【问题描述】:

我有一个键的多个值的散列。如何独立打印哈希中的多个键值?

# HASH with multiple values for each key
my %hash = ( "fruits" => [ "apple" , "mango" ], "vegs" => ["Potato" , "Onion"]);

# SET UP THE TABLE
print "<table border='1'>";
print "<th>Category</th><th>value1</th><th>value2</th>";    

#Print key and values in hash in tabular format
foreach $key (sort keys %hash) {
    print "<tr><td>".$key."</td>";
    print "<td>".@{$hash{$key}}."</td>";
}

* 当前输出:*

 Category  Value1         Value2
 fruits    apple mango
 vegs      Potato Onion

* 所需输出:*

 Category  Value1   Value2
 fruits    apple     mango
 vegs      Potato    Onion

【问题讨论】:

  • 对值使用另一个 foreach 循环。或者使用map 将它们包装在&lt;td&gt;...&lt;/td&gt; 中并打印该结果。

标签: perl hash reference


【解决方案1】:

尝试将循环的第二行替换为

print "<td>$_</td>" for @{ $hash{$key} };

它将遍历数组引用中的每个项目并将它们包装在td标签中。

【讨论】:

    猜你喜欢
    • 2014-04-15
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 2011-06-01
    • 2021-02-18
    • 1970-01-01
    相关资源
    最近更新 更多