我想显示数组中的数据。我有一个像这样的数组:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
)
我尝试使用此脚本:
$product = array('a','b','c','d');
echo '<table border="1">';
echo '<tr><th>Product 1</th><th>Product 2</th><th>Similarity</th></tr>';
for($i=0; $i<count($product); $i++){
echo '<tr><td>'.$product[$i].'</td><td>'.$product[$i+1].'</td></tr>';
}
echo '</table>';
但是我很困惑并且尝试过,但是总是无法获得表中的输出,如下所示:
| Data 1 | Data 2 |
| a | b |
| a | c |
| a | d |
| b | c |
| b | d |
| c | d |
依阵列的长度依此类推
答案 0 :(得分:1)
您可能需要使用多个循环来获取所需的输出:
<?php
$a = [
0 => "a",
1 => "b",
2 => "c",
3 => "d"
];
echo '<table border="1">';
echo '<tr><th>Product 1</th><th>Product 2</th><th>Similarity</th></tr>';
foreach($a as $key => $value)
{
for($i = $key + 1; $i < count($a); $i++)
{
echo "<tr><td>$value</td><td>{$a[$i]}</td></tr>";
}
}
echo '</table>';
结果将是:
答案 1 :(得分:1)
您需要将数组循环嵌套两次。
第一个循环运行完整的数组,另一个循环使用array_slice仅获取“ +1”和值。
$product = array('a','b','c','d');
echo '<table border="1">';
echo "<tr><th>Product 1</th><th>Product 2</th><th>Similarity</th></tr>\n";
foreach($product as $key => $a){
foreach(array_slice($product, $key+1) as $b){
echo '<tr><td>'.$a.'</td><td>'.$b."</td></tr>\n";
}
}
echo '</table>';
输出:
<table border="1">
<tr><th>Product 1</th><th>Product 2</th><th>Similarity</th></tr>
<tr><td>a</td><td>b</td></tr>
<tr><td>a</td><td>c</td></tr>
<tr><td>a</td><td>d</td></tr>
<tr><td>b</td><td>c</td></tr>
<tr><td>b</td><td>d</td></tr>
<tr><td>c</td><td>d</td></tr>
</table>