";传递的参数无效“;但它';s已定义


"Invalid arguments passed" but it's already defined?

此代码有什么问题?当我在没有桌子上所有东西的情况下通过它时,它会很好地工作。但是当我添加implode()调用时,它没有。

这是代码:

    <table>
<?php
$tem=array(21, 20, 20, 20, 22, 22, 21, 19, 19, 18, 20, 18, 17, 19, 20, 20, 21, 21, 21, 17, 17, 12, 12, 16, 16, 18, 18, 18, 19, 15);
rsort($tem);
$toptemp=array_slice($tem, 0,5);
foreach($toptemp as $t) {
  echo ("<tr><td>");
  echo implode ("</td><td>", $t);
  echo ("</td></tr>");
}
?>
</table>
$toptemp=array_slice($tem, 0,5);
foreach($toptemp as $t) {
  echo ("<tr><td>");
  echo implode ("</td><td>", $t);
  echo ("</td></tr>");
}

每次在数组上循环时,$t将取数组中每个元素的值,在您的情况下,该值将是一个整数。问题是implode()希望第二个参数是数组,而不是整数。

摆脱循环:

echo ("<tr><td>");
echo implode ("</td><td>", $toptemp);
echo ("</td></tr>");