Laravel 创建数组并使用 strtolower

我有这样的数据:


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"

]

这就是我的数据在数据库中的样子:

https://img3.mukewang.com/64d5efab0001efb610250072.jpg

任何想法?



一只名叫tom的猫
浏览 166回答 3
3回答

汪汪一只猫

解决了// 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 resultdd($brandsArray);Resultarray:2 [  0 => "no brand"  1 => "ddfg"]

FFIVE

Laravel 有一种非常高效且简单的方法来处理数组。这就是所谓的集合。不要将响应转换为数组,直接使用集合。$sibarBrandsCollection = SidebarManager::first()->pluck('品牌');默认情况下,当您收到响应时,Laravel eloquent 会为您提供集合实例。所以上面的调用中的 pluck 只是在集合实例上调用 pluck 而已。我们可以将方法链接到集合并根据需要进行操作。$sibarBrandsCollection = $sibarBrandsCollection->map(function ($name) {    return strtolower($name); });上面的代码会自动将所有值转换为小写。同样,您可以分解该值以获得预期结果。最后,如果您必须将数据作为数组发送到浏览器,只需在集合末尾添加 toArray() 方法即可。除非需要,否则我不会使用核心 PHP 数组函数,Laravel 集合是处理数组的好方法。

qq_花开花谢_0

$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)).'%']);
打开App,查看更多内容
随时随地看视频慕课网APP