如何在PHP中获取对象名称


How to get object name in PHP

是否可以更改对象..的值。。?

我在数组中有这个对象:

Array ( 
 [0] => stdClass Object ( 
  [**sdshan**] => 25014408 
  [sduom] => Z5
  [sduorg] => 11651 
 ) 
 [1] => stdClass Object ( 
  [**sdshan**] => 2500880
  [sduom] => Z5 
  [sduorg] => 11193 
 ) 
 [2] => stdClass Object ( 
  [**sdshan**] => 25014447 
  [sduom] => Z5 
  [sduorg] => 5000 
 ) 
 [3] => stdClass Object (
  [**sdshan**] => 2500557 
  [sduom] => Z5 
  [sduorg] => 4200 
 ) 
 [4] => stdClass Object ( 
  [**sdshan**] => 2500348 
  [sduom] => Z5 
  [sduorg] => 4000 
 ) 
)

我想将sdshan的值更改为ASDF。所以,最后的数组看起来是这样的:

Array ( [0] => stdClass Object ( 
 [**sdshan**] => ASDF 
 [sduom] => Z5
 [sduorg] => 11651 
) 
[1] => stdClass Object ( 
 [**sdshan**] => ASDF
 [sduom] => Z5 
 [sduorg] => 11193 
) 
[2] => stdClass Object ( 
 [**sdshan**] =>ASDF
 [sduom] => Z5 
 [sduorg] => 5000 
) 
[3] => stdClass Object (
 [**sdshan**] => ASDF 
 [sduom] => Z5 
 [sduorg] => 4200 
) 
[4] => stdClass Object ( 
 [**sdshan**] => ASDF 
 [sduom] => Z5 
 [sduorg] => 4000 
)
)

更新,这是我想尝试做的:

function test(){
    $result = $this->db->select('sdshan,sduom,sduorg')->from('a')->get();
    foreach($result->result() as $data){
       // i want to give some condition here, if sdshan then the values of object sdhsan will be change to ASDF
        $new_result[]=$data; 
    }
}

是的,你可以做到。

您可以在数组中循环,并通过对象的键设置对象的值。就像这样。

for($i=0;$i<sizeof($array);$i++) {
         $object=$array[$i];
         $object->sdshan="your value";
}

您需要应用foreach循环。

<?php
$your_array = array();
foreach ($your_array as $array) {
$pos = array_search($valToReplace, $array );
   if ($pos !== FALSE)
   {
      $array[$pos] = $newVal;
   }
}
?>

试试这个!

foreach(myarray as $key => $myobject){
$myobject->sdshan = "XXXX";
}

要使用对象,必须使用->而不是。