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)}}