我想显示所有用户及其详细信息,但获得无效的foreach参数

时间:2017-04-26 03:39:09

标签: php foreach

我希望使用foreach将所有用户及其详细信息显示为wordpress数据库中的表格。但是我得到了一个无效的foreach论点! 我写的是正确的吗?它的错误是什么? 请帮帮我

<?php
/**
 * Template Name: User Page */
?>

<?php
get_header(); ?>

<?php

echo "<h2> List Of Members</h2>";
echo "<table class='table table bordered'>";
echo "<thead> 
      <tr>


      <th>Member Name</th>
      <th>Age</th>
      <th>Class</th>
      <th>Address</th>
      </tr>
      <thead>";

foreach ($row as $row) 

    {
    $usid = $row->ID;
    $username = $row->user_login;

    echo "<tr><td>".$username."</td>";
    $age=get_user_meta( $usid, 'age', true);
    echo "<td>".$age."</td>";
    $class=get_user_meta($usid, 'class', true);
    echo "<td>".$class."</td>";
    $address=get_user_meta($usid, 'address', true);
    echo "<td>".$address."</td>";
    }   
?>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

3 个答案:

答案 0 :(得分:0)

您无法使用$row as $row,因为值会被覆盖。因此,您可以使用$rows as $row$row as $data

答案 1 :(得分:0)

问题在于:

foreach ($row as $row)

首先尝试理解基本概念,foreach()需要两个参数:

foreach ($dataArray as $var)
每次迭代$var上的

$dataArray获取新的索引值,循环迭代到最后一个索引。所以改变它并再试一次。

答案 2 :(得分:0)

问题在于,相同的变量名用于循环。

foreach ($row as $row)

为变量使用不同的名称以避免覆盖。 同时打印$行以确认结果

print_r($row);// to verify the array
foreach ($row as $eachRow)
{
    $usid = $eachRow->ID;
    $username = $eachRow->user_login;
    ...
    ....
}