我希望使用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(); ?>
答案 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;
...
....
}