我想在for循环中生成一些变量数组。$ priManagerId = 516第一次,346第二次,675第三次,依此类推。但我得到了错误的最后一个数组。如何得到像(516,346,675,...,1599)的值
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 :(得分:0)
将$priManagerId= DB::table
更改为$userId= 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);
答案 1 :(得分:0)
更简单的方法是通过在数组名称后添加“[]”来填充数组 像那样:
$priManagerId[] = DB::table ('users')->where('aceid','=',$PriManager->manager_aceid)->first()->id;
它会在您查找时自动填充数组。 然后,您不需要'array_push'功能。
希望它可以帮助你:)