微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从PHP中的数组获取字符串(Foreach)

我想使用foreach获得数组的结果.但是我得到的只有1个数组,即使在使用Foreach之前,也有9个数组.
如何从下面列出的9个数组的结果中获取字符串

我将PHP 7.0版与Laravel 5.0框架一起使用. $paramsUserId将使用特定的user_id填充,例如“ 10729”

private function itemNotReco($paramsUserId = null)
{
    try{
        $result = DB::connection('read')->table('recommendation_events')
            ->where('user_id', $paramsUserId);

        if ($result) {
            $result = $result->distinct()->get(['item_id']);
        }

        foreach ($result as $re){
            $re = $re->item_id;
        }
        return $re;

    } catch (\Exception $e) {
        $log = ['Service' => 'RecommendationEventService', 'function' => 'getItemNotRecommendation'];
        logError($e, $log);
    }
}

结果(使用邮递员):

"77178"

以下是我不使用foreach并使用如下代码的9个数组的结果

private function itemNotReco($paramsUserId = null)
{
    try{
        $result = DB::connection('read')->table('recommendation_events')
            ->where('user_id', $paramsUserId);

        if ($result) {
            $result = $result->distinct()->get(['item_id']);
        }
        return  array_column($result, 'item_id');
    } catch (\Exception $e) {
        $log = ['Service' => 'RecommendationEventService', 'function' => 'getItemNotRecommendation'];
        logError($e, $log);
    }
}

结果:

array:9 [
  0 => 77196
  1 => 77263
  2 => 77202
  3 => 77262
  4 => 77275
  5 => 77259
  6 => 77345
  7 => 77329
  8 => 77178
]

我想要的结果是这样的(使用邮递员)

"77196", "77263", "77202", "77262", "77275", "77259", "77345", "77329", "77345", "77329", "77178"

解决方法:

由于返回在第一个循环中停止,因此它将仅返回1个数据.有两种方法可以解决您的问题:

1.使用echo代替return.

2.将数据存储在新变量中,如下所示:

private function itemNotReco($paramsUserId = null)
{
    try{
        $result = DB::connection('read')->table('recommendation_events')
            ->where('user_id', $paramsUserId);

        if ($result) {
            $result = $result->distinct()->get(['item_id']);
        }

        $data = [];
        foreach ($result as $re){
            $data[] = $re->item_id;
        }
        return $data;

    } catch (\Exception $e) {
        $log = ['Service' => 'RecommendationEventService', 'function' => 'getItemNotRecommendation'];
        logError($e, $log);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐