Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用户输入的Laravel格式数字或DB格式_Php_Database_Laravel_Format_Numbers - Fatal编程技术网

Php 用户输入的Laravel格式数字或DB格式

Php 用户输入的Laravel格式数字或DB格式,php,database,laravel,format,numbers,Php,Database,Laravel,Format,Numbers,{{$user->dettagli->facebook\u follower} if($user->dettagli->facebook){ $canali['facebook']['link']=$user->dettagli->facebook; $canali['facebook']['count']=$user->dettagli->facebook\u follower; $canali['facebook']['icon']='fab fa facebook'; $canali['f

{{$user->dettagli->facebook\u follower}
if($user->dettagli->facebook){
$canali['facebook']['link']=$user->dettagli->facebook;
$canali['facebook']['count']=$user->dettagli->facebook\u follower;
$canali['facebook']['icon']='fab fa facebook';
$canali['facebook']['label']='facebook_follower';

}
有两种方法可能对不同情况有所帮助:

  • 如果您希望特定属性始终以这种方式格式化,我将使用:
  • class Dettagli扩展了模型
    {
    ...
    公共函数getFacebookFollowerCountAttribute()
    {
    如果($this->facebook\u follower>=100){
    返回“{NumberFormatter::format($this->facebook\u follower/1000)}k”;
    }
    returnnumberformatter::format($this->facebook\u follower);
    }
    ...
    }
    
    在blade视图中这样使用它:
    {{$user->dettagli->facebook\u follower\u count}

  • 如果您希望在刀片视图中始终这样设置数字格式,则自定义刀片指令可能更合适:
  • namespace-App\Providers;
    使用Illumb\Support\ServiceProvider;
    使用刀片;
    类AppServiceProvider扩展了ServiceProvider
    {
    /**
    *注册任何应用程序服务。
    *
    *@返回无效
    */
    公共职能登记册()
    {
    }
    /**
    *引导任何应用程序服务。
    *
    *@返回无效
    */
    公共函数boot()
    {
    刀片::指令('format_number',函数($string){
    如果((int)$string>=100){
    返回“”;
    }
    返回“”;
    });
    }
    }
    

    在刀片视图中这样使用它:
    {{@format\u number($user->dettagli->facebook\u follower)}

    将以下功能添加到现有模型中

    模型


    将其除以1000并连接一个
    k
    这是否回答了您的问题?或者,你可以用这个,非常感谢!但是,如果一个用户的数字需要/1000+k,而另一个用户的计数是1000000呢?那么
    0.001K
    呢。这是@LeytonLightingale的期望行为吗?期望的输出是针对每个用户的,显示他们的Facebook追随者数量。这个数字必须是一个完整的正数!谢谢你,我会编辑帖子这样说!对于1000000,您可以使用
    NumberFormatter::format
    ,对于1k以下的所有内容,您可以使用if来输出数字。
    public function numberStyle($n)
    {
        if ($n < 1000) {
            return $n;
        }
        else
        {
            $val = ['','k','M','G','T','P','E','Z','Y'];
            $run = floor(log($n, 1000));
        }
    
        return round($n/(1000**$run),1,PHP_ROUND_HALF_EVEN).$val[$run];
    }
    
    {{$user->numberStyle(facebook_follower)}}