2016-11-20 159 views
0

我想填充变量$ example_data的数组。我有一个数组Mass'和日期,我想用这个数组填充。不过,我不知道如何为每个需要存储的$ mass [$ x]和$ date [$ x]创建一个新的数组条目。我试图把一个foreach循环的$ 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[] **/ 
); 
+0

只需检查代码: - https://eval.in/681061并使用它。看看你有没有得到你想要的? –

+0

哇适应你现在的作品几段后。谢谢! – Andy

回答

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']); 
    } 
} 

基本上,你可以获取一个关联数组而不是使用关联数组填充关联数组...

+0

如果您有lynda.com,请查看David Powers的面向对象PHP课程。 – ihodonald