Php 按列值对数组排序
我正在开发我的简单wordpress插件。这个插件应该根据写文章的数量对所有用户进行排名,然后将其显示在html表中。除分拣外,一切正常。你知道如何按Php 按列值对数组排序,php,arrays,wordpress,sorting,plugins,Php,Arrays,Wordpress,Sorting,Plugins,我正在开发我的简单wordpress插件。这个插件应该根据写文章的数量对所有用户进行排名,然后将其显示在html表中。除分拣外,一切正常。你知道如何按帖子数值对这个数组进行排序吗 for($id = 1;$id<=$total_users;$id++){ $ar = $wpdb->get_results("SELECT wp_users.ID, wp_users.display_name, COUNT
帖子数值对这个数组进行排序吗
for($id = 1;$id<=$total_users;$id++){
$ar = $wpdb->get_results("SELECT wp_users.ID, wp_users.display_name,
COUNT(wp_posts.post_author) AS 'Number_of_posts'
FROM wp_users
INNER JOIN wp_posts ON wp_users.ID = wp_posts.post_author
WHERE wp_posts.post_type = 'post'
AND wp_users.ID = $id
AND wp_posts.post_status = 'publish'" ,
ARRAY_A);
function sort($a, $b) {
return $a['Number_of_posts'] - $b['Number_of_posts'];
}
usort($ar, 'sort');
foreach ($ar as $x){
echo'<tr>';
echo'<td>'. $x['ID']."</td>";
echo'<td>'. $x['display_name'].'</td>';
echo'<td>'. $x['Number_of_posts'].'</td>';
echo'</tr>';
}
}
echo '</table>';
echo '<br>';
对于($id=1;$idget_结果)(“选择wp_users.id,wp_users.display_name,
将(wp_posts.post_author)计算为“发布数量”
来自wp_用户
wp_users.ID=wp_posts.post_author上的内部连接wp_posts
其中wp_posts.post_type='post'
和wp_users.ID=$ID
和wp_posts.post_status='publish',
阵列(A),;
函数排序($a,$b){
返回$a['Number\U posts']-$b['Number\U posts'];
}
usort($ar,‘sort’);
外汇($ar为$x){
回声';
回显“.$x['ID']”;
回显'.$x['display_name'].';
回显“.$x[“帖子数量]”;
回声';
}
}
回声';
回声“
”;
试试这段代码
function my_count_posts_by_user(){
global $wpdb;
$result = count_users();
$total_users = $result['total_users'];
for($id = 1;$id<=$total_users;$id++){
$ar = $wpdb->get_results("SELECT wp_users.ID, wp_users.display_name,
COUNT(wp_posts.post_author) AS 'Number_of_posts'
FROM wp_users
INNER JOIN wp_posts ON wp_users.ID = wp_posts.post_author
WHERE wp_posts.post_type = 'post'
AND wp_users.ID = $id
AND wp_posts.post_status = 'publish' order by Number_of_posts desc" ,
ARRAY_A);
//usort($ar, 'sort');
echo '<table>';
foreach ($ar as $x){
echo'<tr>';
echo'<td>'. $x['ID']."</td>";
echo'<td>'. $x['display_name'].'</td>';
echo'<td>'. $x['Number_of_posts'].'</td>';
echo'</tr>';
}
}
echo '</table>';
echo '<br>';
}
function my_count_posts_by_user(){
全球$wpdb;
$result=count_users();
$total_users=$result['total_users'];
对于($id=1;$idget_results)(“选择wp_users.id,wp_users.display_name,
将(wp_posts.post_author)计算为“发布数量”
来自wp_用户
wp_users.ID=wp_posts.post_author上的内部连接wp_posts
其中wp_posts.post_type='post'
和wp_users.ID=$ID
和wp_posts.post_status='publish'按发布数量的顺序描述“,
阵列(A),;
//usort($ar,‘sort’);
回声';
外汇($ar为$x){
回声';
回显“.$x['ID']”;
回显'.$x['display_name'].';
回显“.$x[“帖子数量]”;
回声';
}
}
回声';
回声“
”;
}
在您的问题中添加var_dump($ar);
的输出。(不是完整的输出,只有2-3个索引数据)尝试此解决方案:。如果您解决了问题,请告诉我。不起作用:致命错误:无法重新声明cmp()(以前声明)