为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 创建数组并使用 strtolower

Laravel 创建数组并使用 strtolower

PHP
一只名叫tom的猫 2023-08-11 16:21:34
我有这样的数据:array:1 [  0 => "No Brand,ddfg"]首先这个数据是错误的,我想要的是这样的:array:2 [  0 => "No Brand"  1 => "ddfg"]所以现在它实际上是一个数组:)然后我需要将数组数据转换为小写,例如:array:2 [  0 => "no brand"  1 => "ddfg"]代码$sibarBrandsArray = SidebarManager::first()->pluck('brands')->toArray();这返回数据如下:array:1 [  0 => "No Brand,ddfg"]这就是我的数据在数据库中的样子:任何想法?
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

解决了

// get my table row

$sibarBrandsArray = SidebarManager::first();

// get my row column

$getBrandColumn = $sibarBrandsArray->brands;

// separate data in that column with comma

$separateBrands = explode(',', $getBrandColumn);

// lowercase each separated data

$brandsArray = array_map('strtolower', $separateBrands);

// dump the result

dd($brandsArray);

Result


array:2 [

  0 => "no brand"

  1 => "ddfg"

]


查看完整回答
反对 回复 2023-08-11
?
FFIVE

TA贡献1797条经验 获得超6个赞

Laravel 有一种非常高效且简单的方法来处理数组。这就是所谓的集合。不要将响应转换为数组,直接使用集合。

$sibarBrandsCollection = SidebarManager::first()->pluck('品牌');

默认情况下,当您收到响应时,Laravel eloquent 会为您提供集合实例。所以上面的调用中的 pluck 只是在集合实例上调用 pluck 而已。我们可以将方法链接到集合并根据需要进行操作。

$sibarBrandsCollection = $sibarBrandsCollection->map(function ($name) {
   return strtolower($name);
});

上面的代码会自动将所有值转换为小写。同样,您可以分解该值以获得预期结果。最后,如果您必须将数据作为数组发送到浏览器,只需在集合末尾添加 toArray() 方法即可。

除非需要,否则我不会使用核心 PHP 数组函数,Laravel 集合是处理数组的好方法。


查看完整回答
反对 回复 2023-08-11
?
qq_花开花谢_0

TA贡献1835条经验 获得超6个赞

$yourArray = array_map('strtolower', $yourArray);

$yourArray = array_map('nestedLowercase', $yourArray);


function nestedLowercase($value) {

    if (is_array($value)) {

        return array_map('nestedLowercase', $value);

    }

    return strtolower($value);

}

或者你可以使用:


$query->whereRaw('LOWER(`newsTitle`) LIKE ? ',[trim(strtolower($newsTitle)).'%']);


查看完整回答
反对 回复 2023-08-11
  • 3 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信