代码之家  ›  专栏  ›  技术社区  ›  Geoff_S

用于查询传递的内爆数组,仅返回一个值

  •  -2
  • Geoff_S  · 技术社区  · 6 年前

    我试图使一个ID数组内爆(我知道这个数组应该包含16个ID),这样我就可以向查询传递一个逗号分隔的字符串。

    我现在有这个:

    foreach ($daily as &$d) {
    $ids = [];
    
    if ($d->date > $condition){
      $d->employee = 'hired';
      $ids[] = $d->empNum;
      dd($ids);
    }
    print_r($ids);
    
    $empIDs = implode(" ", $ids);
    
    endforeach
    

    以及 dd($ids) 成功转储第一个ID,但仅此ID。

    我应该如何循环这个并正确地将其内爆,以便将它传递给查询?

    1 回复  |  直到 6 年前
        1
  •  1
  •   MonkeyZeus    6 年前

    你就快到了:

    // Declare this outside the loop so that we do not keep overwriting it
    $ids = [];
    
    foreach($daily as &$d)
    {
        if($d->date > $condition)
        {
            $d->employee = 'hired';
            $ids[] = $d->empNum;
            dd($ids);
        }
        print_r($ids);
    }  // Make sure to properly close the foreach construct because endforeach should be causing errors
    
    // Generate a comma-separated list of IDs
    $empIDs = implode(",", $ids);