返回[对象对象]的PHP数组。尝试了现有答案结果,但没有运气

时间:2018-09-24 作者:M. F.

我尝试了多种解决方案,但似乎都没有奏效。谁能帮我一下吗?我希望结果返回ID的($user) 现在它又回来了[object Object] 使用下面的代码。$users 为我提供所有站点用户ID和$pageview 获取页面的访问次数。如果我将return语句更改为$test 我从$pageview 他们应该是正确的。需要添加密钥\'count\'$pageview 这样我就可以根据pageview 以便根据最流行的页面对值进行排序。我知道这不是最有效的方法,使用适当的分析系统会更好,但对于这项任务,我需要这样的方法。

            if($args == \'Popular\'){
                $users = get_all_user_ids(\'\');
                foreach($users as $user) {
                    $pageview = get_user_meta($user, \'page_visits\', true);
                    $test[] = $pageview;

                    if ($pageview != 0) {
                        $popularid[$pageview][\'count\'] = $user;
                    } else {
                        continue;
                    }
                    rsort($popularid);
                }
                return $popularid;
            }
正在使用对输出进行编码json_encode 完成此if语句后,使用document.getElementById("cm-output").innerHtml.

提前谢谢。

1 个回复
最合适的回答,由SO网友:Tamilvanan 整理而成

让我们试试下面的代码,

$users = get_all_user_ids(\'\');
$i=0; // initialization 
foreach($users as $user) {
    $pageview = get_user_meta($user, \'page_visits\', true);
    if ($pageview != 0) {
        //$popularid[$pageview][\'count\'] = $user; // Err:  // Array won\'t be unique due to pageview might be same for multiple users
        // $popularid[$user] = $pageview; // Array will be unique based on user id
         $popularid[$i][\'user\'] = $user;
         $popularid[$i][\'pageview\'] = $pageview;
         $i++; // incrementor
    }
}
//rsort($popularid); // Sorts based on value
usort($popularid, function($a, $b) {
   return $a[\'pageview\'] - $b[\'pageview\'];
});
$userArr = array_column($popularid, \'user\');
//return $popularid;
return $userArr;
Update:的核心PHP代码示例usort

$array[] = array(\'pageview\'=>4,\'user\'=>\'abc\');
$array[] = array(\'pageview\'=>2,\'user\'=>\'xyz\');
$array[] = array(\'pageview\'=>1,\'user\'=>\'pqrs\');
$array[] = array(\'pageview\'=>3,\'user\'=>\'ijk\');

usort($array, function($a, $b) {
    return $a[\'pageview\'] - $b[\'pageview\'];
});

$userArr = array_column($array, \'user\'); // to get only the values from user key
print_r($userArr);

结束

相关推荐

使用管理屏幕css覆盖Load-Stylees.php

我正在尝试修改css。我试图用下面的代码修改css,但似乎确实有效。如果我试着改变颜色,它就会起作用。 #poststuff #post-body.columns-2 { margin-right: 300px; display:flex important; flex-direction:column !important; } 如果我直接修改chrome开发者的表单,它似乎可以工作。function wpdocs_selectively