使用foreach循环填充数组?

时间:2016-11-20 05:36:24

标签: php arrays

我试图为变量$ example_data填充数组。我有一系列Mass'和我希望填充此数组的日期。但是我不知道如何为每个我要存储的$ mass [$ x]和$ date [$ x]创建一个新的数组条目。我已经尝试在$ example_data =数组中放置一个foreach循环(但它没有用。

这就是我想要的,但不起作用:

$example_data = array(
    foreach($exer->results() as $ex){
        $mass = $ex->Mass;
        $date = $ex->Date;

        array($date,$mass),
);

这是我尝试过的但不确定如何完成它:

$userID = $user->data()->id;

$sql = "SELECT * FROM userdetails WHERE UserID = ".$userID."";
$details = DB::getinstance()->query($sql);

$x = 1;

foreach($details->results() as $detail){
    /** getting data from each record from field Mass and storing it in $mass array **/
    $mass[$x] = $detail->Mass;
    $date[$x] = $detail->Date;

    $x++;
}

$x = 1;

$example_data = array(
        array($date[$x],$mass[$x]),
        /** I want it to create a new array entry for each $mass[] **/
);

1 个答案:

答案 0 :(得分:0)

这取决于您使用的数据库类型......

例如,如果你正在使用MySQL,它的mysqli_fetch_assoc()

您尝试将结果集提取到关联数组中,但结果集本身是关联数组

尝试...

$sql = "SELECT * FROM userdetails WHERE UserID = ".$userID."";
$details = DB::getinstance()->query($sql);

$example_data = array(
  array("Mass"),
  array("Date")
);


while($row = $details->fetch_assoc()) {
    array_push($example_data['Mass'], $row['name_of_mass_column_in_db']);
    array_push($example_data['Date'], $row['name_of_date_column_in_db']);
  }
}

基本上,您只需获取关联数组,而不是使用关联数组填充关联数组...