示例数据
我有以下对象数组示例:
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 :(得分: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表(它是一个样本)
<?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.
?>
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>
PHP Array和对象有其他问题吗?