2016-01-18 138 views
1

大家好我有一个像下面这样的对象数组。我只想将新对象添加到当前数组中。任何帮助如何做到这一点。由于如何在PHP中将对象添加到对象数组中?

Array 
(
    [0] => stdClass Object 
     (
      [sm_id] => 1 
      [c_id] => 1 
     ) 

    [1] => stdClass Object 
     (
      [sm_id] => 1 
      [c_id] => 2 

     ) 
) 

输出应该是

Array 
    (
     [0] => stdClass Object 
      (
       [sm_id] => 1 
       [c_id] => 1 
      ) 

     [1] => stdClass Object 
      (
       [sm_id] => 1 
       [c_id] => 2 

      ) 
     [2] => stdClass Object 
      (
       [sm_id] => 1 
       [c_id] => 3 

      ) 

) 
+9

'$阵列[ ] = $ object;'? –

+1

就像你在数组中添加值一样。 –

+1

@AlexAndrei是正确的。这是最简单的方法。 – Sanchit

回答

3

试试这个,

$object = new stdClass(); 
 
$object->sm_id = "1"; 
 
$object->c_id = "3"; 
 
$myArray[] = $object;

(或)

$myArray[] = (object) array('sm_id' => '1','c_id'=>'3');

2

这里是解决方案,您可以尝试

$object = new ClassName(); 
$object->name = "Some_value"; 
$myArray[] = $object; 
1

可以使用array_merge()

$array = array((object)array('sm_id' => 1,'c_id' => 1),(object)array('sm_id' => 1,'c_id' => 2));//Your object array; 
$myarry[] = array('sm_id' => 1,'c_id' => 3); // Additional Array 
$finalarr = (object) array_merge((array)$array, (array)$myarry); 
1

尝试做到这一点:

<?php 

    //your default array 
    $your_array = array(0=> (object) array("sm_id"=>1, "c_id"=>1), 1=>(object) array("sm_id"=>1, "c_id"=>2)); 

    //add object in your array 
    array_push($your_array, (object) array("sm_id"=>1, "c_id"=>3)); 

    //show list 
    print_r($your_array); 

?>