【问题标题】:Convert data array at php laravel在 php laravel 转换数据数组
【发布时间】:2022-01-10 03:29:32
【问题描述】:

我有数据数组:

Array
(
  [0] => Illuminate\Support\Collection Object
    (
      [items:protected] => Array
        (
          [0] => stdClass Object
            (
              [product_id] => 780
            )

          [1] => stdClass Object
            (
              [product_id] => 789
            )

          [2] => stdClass Object
            (
              [product_id] => 800
            )

          [3] => stdClass Object
            (
              [product_id] => 769
            )
        )
     )  
)

如何在数组上获取仅数据值?
需要输出$data = '780','789','800','769';

【问题讨论】:

标签: php arrays laravel object


【解决方案1】:

我假设您正在使用 Equolent ORM 从您的数据库中获取这些数据。

所以首先获取数据:

$resultsInitial = Model::get(); // you can specify your clauses here

然后创建一个新的空数组

$results = [];

然后运行 ​​foreach 将数据推送到新数组中

foreach ($resultsInitial as $record) {
   array_push($results, $record->product_id);
}

然后最终返回新数组

return $results; // output: [1,2,3]

【讨论】:

    【解决方案2】:

    简单的你可以通过以下代码获取数组

    $resultsInitial->toArray();
    

    【讨论】:

      【解决方案3】:

      implode 方法可以解决您的问题。下面的代码块中提到了一个示例。

      $collection = collect([
          ['account_id' => 1, 'product' => 'Desk'],
          ['account_id' => 2, 'product' => 'Chair'],
      ]);
      
      $collection->implode('product', ', ');
      
      // Desk, Chair
      

      有关详细信息,请查看 Laravel 文档中的 implode

      如果您想将输出作为一个数组,那么您应该使用pluck 方法。下面解释相同的示例。

      $collection = collect([
          ['product_id' => 'prod-100', 'name' => 'Desk'],
          ['product_id' => 'prod-200', 'name' => 'Chair'],
      ]);
      
      $plucked = $collection->pluck('name');
      
      $plucked->all();
      
      // ['Desk', 'Chair']
      

      有关详细信息,请查看 Laravel 文档中的 pluck

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-17
        • 2021-11-18
        • 1970-01-01
        • 2018-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-09
        相关资源
        最近更新 更多