2017-09-26 9 views
-1

forループで生成される変数の配列を作成したいとします。$ priManagerId = 516、初回は346、2回目は346、3回目は675などとなります。私は、配列とDBレスポンスに同じ変数名を定義している。あなた$userId= DB::tableにのような値を得るために、最後のvalue.Howの誤った配列(516346675、...、1599)配列以外の値のarray_push

protected $priManagerId = array(); 
foreach($proOwnerPM as $PriManager){ 
      if($PriManager->manager_aceid!='') 
      { 
       $priManagerId= DB::table ('users')->where('aceid','=',$PriManager->manager_aceid)->first()->id; 
       print_r($priManagerId); //516 
       $priManagerId=(array)$priManagerId; 

       array_push($priManagerId,$priManagerId); 

      } 
      } 
      var_dump($priManagerId); 

    output 
    array (size=2) 
    0 => int 1599 
    1 => 
    array (size=1) 
     0 => int 1599 //last value 

答えて

0

変更$priManagerId= DB::tableを得た

protected $priManagerId = array(); 
foreach($proOwnerPM as $PriManager){ 
      if($PriManager->manager_aceid!='') 
      { 
       $userId= DB::table ('users')->where('aceid','=',$PriManager->manager_aceid)->first()->id; 
       print_r( $userId); //516 


       array_push($priManagerId, $userId); 

      } 
      } 
      var_dump($priManagerId); 
0

もっと簡単な方法は、配列名の後に '[]'を追加して配列を埋めることです。そのような
:あなたが探しているよう

$priManagerId[] = DB::table ('users')->where('aceid','=',$PriManager->manager_aceid)->first()->id; 

それは自動配列を記入します。 次に、 'array_push'関数は必要ありません。

希望すると便利ですよね:)

関連する問題