【问题标题】:Make First Letter of an Array Uppercase in Laravel在 Laravel 中将数组的第一个字母设为大写
【发布时间】:2019-05-05 21:57:16
【问题描述】:

我正在尝试使用 Laravel Eloquent 查询从我的数据库中检索字符串。但是,我得到的数据是全大写的。我只希望第一个字母是大写的。谁能帮帮我?

$main = DB::table('master_accountsmain')->get()

我正在使用...将主要内容传递给我的视图

return view('home', 'main' => $main);

我尝试过使用ucfirst($main),,但它不起作用。数据保持大写。

【问题讨论】:

  • $main 是数组而不是转换为小写的字符串
  • 是的,我在将数组转换为首字母大写 @AyazShah 时遇到问题
  • $main的内容是什么?
  • ucfirst(strtolower($main[0]->property)) ? Main 是一个对象数组,因为您正在使用 ->get();如果您只使用 ->first() 获取一个,它将返回一个雄辩的对象。
  • $main 看起来像这样 $main = [ 'JOHN', 'DOE', 'GUIDE' ] @Jerodev

标签: php laravel eloquent laravel-query-builder


【解决方案1】:

您必须先用strtolower() 将其更改为小写,然后您的ucfirst 才能正常工作。尝试如下以使其正常工作。

ucfirst(strtolower($main));

【讨论】:

    【解决方案2】:

    ucfirst(strtolower($main[0]->property)) 是你想要做的。

    $main 是一个对象数组,因为您使用的是->get();

    如果您只使用->first(); 获取一个,它将返回一个雄辩的对象,您只需调用ucfirst(strtolower($main->property))

    如果您有多个结果,您可以简单地循环或使用 php 内置的奇特数组函数。

    如果它是一个雄辩的集合,他们已经内置了诸如 ->each() 之类的方法,允许您映射一个数组。

    【讨论】:

      【解决方案3】:

      你不能ucfirst($array)。 您需要获取$array 的元素。 喜欢

      $fname = ucfirst(strtolower($array->fname));
      

      【讨论】:

        猜你喜欢
        • 2015-12-05
        • 1970-01-01
        • 1970-01-01
        • 2018-07-08
        • 1970-01-01
        • 1970-01-01
        • 2013-11-30
        • 1970-01-01
        • 2013-09-01
        相关资源
        最近更新 更多