2016-01-07 128 views
-2

样本数据PHP - 添加多个对象到数组

我有对象例如下面的数组:

array(2) { 
    [0]=> 
    object(RData)#2 (6) { 
    ["DateOfBirth"]=> 
    string(10) "1985-01-01" 
    ["FirstName"]=> 
    string(4) "john" 
    } 
    [1]=> 
    object(RData)#3 (6) { 
    ["DateOfBirth"]=> 
    string(10) "1980-12-12" 
    ["FirstName"]=> 
    string(4) "jane" 
    } 
} 

该阵列由基本连接两个物体,如内置如下:

$rArray = array(
        $rData, 
        $rData2 
       ); 

问题

我该如何依次构建?一块(因为有高端磁盘阵列的许多变化)作品......

我想:

$rArray = array($rData); 
array_push($rArray, $rData2); 

没有工作,推动推翻当前对象,预计

还尝试:

$rArray = array_merge($rData, $rData2) 

没有工作,预计,他们的对象不是数组

+0

“连接两个对象”是没有意义的。你将两个值放入一个数组中,不多也不少。你的第一个和第二个代码示例应该是相同的。目前还不清楚为什么一个人不工作。 - *“推翻当前对象,预计”* - 不,非常意外。 – deceze

+1

[norepo](https://3v4l.org/NibJT),你可以给一个小的,但什么是不工作的_complete_例子? – VolkerK

+0

我不明白你的问题?你已经有了你的两个对象......('$ rdata'和'$ rdata2')你会怎么做?数组? –

回答

1

首先,认为:

$rArray = array(
      $rData, 
      $rData2 
     ); 

它不是一个对象的级联,它只是一个数组的创作有两个型动物反对这样的:

$rArray = array(); // create array 
$rArray[] = $rData; // add first object 
$rArray[] = $rData2; // add second object 

代码中创建一个PHP array,包含两个PHP objects ($ rData和$ rData2); 您可以访问到你的对象和数组像的ID:

$rArray[0] // call the $rdata object 
$rArray[1] // call the $rdata2 object 

而对于存取权限对象属性:

echo $rArray[0]->DateOfBirth // output : 1985-01-01 

或者你可以在所有的数组创建HTML迭代表(它是一个示例)在foreach的

<?php 
    $table = '<table><tbody>'; 

    foreach($rArray as $person){ 
     $table .= '<tr><td>'.$person->FirstName.'</td><td>'.$person->DateOfBirth .'</td></tr>'; 
    } 

    $table .= '</tbody></table>'; 

    echo $table; // display the HTML table. 
?> 

输出是:

<table> 
    <tbody> 
    <tr> 
     <td>john</td> 
     <td>1985-01-01</td> 
    </tr> 
    <tr> 
     <td>jane</td> 
     <td>1980-12-12</td> 
    </tr> 
    </tbody> 
</table> 

您是否有PHP Array和对象的其他问题?