老师,这里不是已经转换为数组了吗?为什么还要加这个判断呢?
0

$keywords = array_filter(explode(' ', $search)); //这里不是已经转换为了数组了吗?
 // 如果参数不是数组则转为数组
$keywords = is_array($keywords) ? $keywords : [$keywords];  加的这一句是不是没必要?

天未晴 雨也未停 我感觉我依然行

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
leo
最佳答案

有必要,第一行代码确实是将其转为数组,但这行代码是调用方,我们无法保证所有的调用方都将参数转为数组。

正如 @Wi1dcard 所说,这是非常『Laravel』的写法,既可以传『单数』也可以传『复数』。

1周前
讨论数量: 6
等车的猪

的确没必要。可以删除

1周前

写法十分 Laravel,想起了很多 Laravel 的方法设计。既可以传「单数」也可以传「复数」,同时支持数组和变参。

1周前
等车的猪

@Wi1dcard explode已经转换为数组了,感觉在判断一次就是多余了,并没有增加代码健壮性

1周前

@等车的猪 本身也不是为了增加代码健壮性,我刚刚说的只是那种风格带来的语法糖而已,实际上,似乎还更容易造成混乱的用法。

当然啦,这个课程的代码我没有具体看过,所以也不能评论此处具体是什么情况,只是说下感受,至于多余不多余,等大佬们解答吧。

1周前
leo

有必要,第一行代码确实是将其转为数组,但这行代码是调用方,我们无法保证所有的调用方都将参数转为数组。

正如 @Wi1dcard 所说,这是非常『Laravel』的写法,既可以传『单数』也可以传『复数』。

1周前
等车的猪

@leo mark一下,还没看到这里,等看到了好好细细品味老师说的这句话

1周前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!