【问题标题】:Need to apply a function to update a specific property of an array需要应用函数来更新数组的特定属性
【发布时间】:2017-09-16 10:09:19
【问题描述】:

我有一组来自 API 的客户端,我需要在控制器中格式化它们的“徽标”,然后才能到达视图。当我使用array_map 时,它返回一个仅包含格式化徽标的数组,但我需要它返回整个数组,其中仅包含每个正在格式化的条目的 logo 属性。

似乎array_maparray_walk 都返回了一个仅包含已格式化内容的数组,但是是否有一个函数或函数组合可以返回原始数组以及特定属性的更新值?

这是我当前的代码,只是基本的array_map 语法。 clients_array 是一个数组数组,包含许多属性,如名称、位置、徽标等:

    $clients_array = $this->clients->getClients();
    $clients_array = array_map(function ($logo) {
      return cloudfront_asset($logo->logo_thumbnail);
    }, $clients_array);

【问题讨论】:

  • 您能否在问题中添加当前和预期的数组以便更好地理解?

标签: php arrays laravel function mapping


【解决方案1】:

您控制array_map 的输出,因此不要只返回格式化的徽标,而是更新您的$logo 对象并返回它。

$clients_array = $this->clients->getClients();
$clients_array = array_map(function ($logo) {
    $logo->logo_thumbnail_formatted = cloudfront_asset($logo->logo_thumbnail);
    return $logo;
}, $clients_array);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多