PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用$percent变量php排序数组结果大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

这是我的数组:

$mygetting_id = $wpdb->get_results("SELECT DISTINCT post_id,Meta_value from wp_postMeta Where Meta_value  LIKE '".$search_res[$k]."%' OR Meta_value  LIKE '%".$search_res[$k]."%'  AND Meta_key='my_profile_tags' ORDER BY post_id $limit");

    foreach ( $mygetting_id as $post )
    {
        $id = $post->post_id;

        $MetaValue= esc_attr(get_post_meta($id, 'my_profile_tags',true));
        $array_MetaValue = explode(',',$MetaValue);
        $array_MetaValue = array_map('strtolower', $array_MetaValue);
        $total_tags=count($array_MetaValue);//like total=10

        for($e=0;$e<=count($search_res);$e++)
        {
            $key = count( array_intersect( $array_MetaValue, array_map('strtolower', $search_res ) ) );
        }

        // Get Percentage of each array result.
        $percent=($key/$search_count)*100;
        $percent=round($percent,0);
        ?>

        //html part
    } // for each close

现在我要ORDER BY或根据$percent变量显示结果,然后显示结果.我无法在sql语句中使用$percent var.我该怎么办.

这就是现在显示的样子.我希望将400%提高到最高.

解决方法:

您可以使用PHP usort()订购结果

     <?PHP

     $mygetting_id = $wpdb->get_results("SELECT DISTINCT post_id,Meta_value from wp_postMeta Where Meta_value  LIKE '".$search_res[$k]."%' OR Meta_value  LIKE '%".$search_res[$k]."%'  AND Meta_key='my_profile_tags' ORDER BY post_id $limit");

     $sortedResults = array(); 

     foreach ( $mygetting_id as $post )
     {
      $id = $post->post_id;

     $MetaValue= esc_attr(get_post_meta($id, 'my_profile_tags',true));
     $array_MetaValue = explode(',',$MetaValue);
     $array_MetaValue = array_map('strtolower', $array_MetaValue);
     $total_tags=count($array_MetaValue);//like total=10

     for($e=0;$e<=count($search_res);$e++)
     {
         $key = count( array_intersect( $array_MetaValue, array_map('strtolower', $search_res ) ) );
     }

     // Get Percentage of each array result.
     $percent=($key/$search_count)*100;
     $percent=round($percent,0);

     // adding percent property to use it in usort
     $post->percent = $percent;

     $sortedResults[] = $post;
     }

    // sorting results
    usort($sortedResults, function($a, $b){
       // in case if they are equal
      if($a == $b) return 0;
      return $a->percent < $b->percent ? 1 : -1;
    });
    /// Now your results are sorted do html part
    foreach($sortedResults as $post){
      // do your html here e.g
      echo $post->id;
      echo $post->percent . '%'; // etc
    }

    ?>

或者您可以将百分比存储为表格中的单独字段,而仅按ORDER BY得分

大佬总结

以上是大佬教程为你收集整理的使用$percent变量php排序数组结果全部内容,希望文章能够帮你解决使用$percent变量php排序数组结果所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: