Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-将多个对象添加到数组中_Php_Arrays - Fatal编程技术网

PHP-将多个对象添加到数组中

PHP-将多个对象添加到数组中,php,arrays,Php,Arrays,样本数据 我有以下对象数组示例: 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

样本数据

我有以下对象数组示例:

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 )
未工作,应为推覆覆盖当前对象

也尝试过:

$rArray = array( $rData );
array_push( $rArray, $rData2 );
$rArray = array_merge( $rData, $rData2 )
不起作用,应为,它们是对象而不是数组首先,即:

$rArray = array(
            $rData,
            $rData2
          );
它不是一个对象的连接,它只是一个数组的创建,其中包含两个不同的对象,如下所示:

$rArray = array();    // create array
$rArray[] = $rData;   // add first object
$rArray[] = $rData2;  // add second object
您的代码创建一个,包含两个($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的输出为:

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

厕所
1985-01-01
简
1980-12-12

PHP数组和对象还有其他问题吗

“连接两个对象”毫无意义。将两个值放入一个数组中,不多也不少。您的第一个和第二个代码示例应该是相同的。目前还不清楚为什么一个被认为不起作用“push Override current object,expected”-不,非常意外。你能给出一个小而完整的例子说明什么不起作用吗?我不理解你的问题?您已经一块一块地拥有了两个对象……(
$rdata
$rdata2
)您将如何处理我们?数组?@DarrenSweeney一切正常-您正在尝试将对象转换为数组吗?