PHP - 如何修改数组中对象的值(对象数组)?

时间:2015-10-19 11:19:31

标签: php arrays codeigniter arrayobject

我在修改对象数组的值时遇到了问题。

array (size=2)
  0 => 
    object(stdClass)[25]
      public 'time1' => string '09:00:00' (length=8)
      public 'btm_01' => string '40.00' (length=5)
      public 'bto_01' => string '41.00' (length=5)
      public 'rs_01' => string '42.00' (length=5)
  1 => 
    object(stdClass)[26]
      public 'time1' => string '10:00:00' (length=8)
      public 'btm_01' => string '41.00' (length=5)
      public 'bto_01' => string '40.00' (length=5)
      public 'rs_01' => string '40.00' (length=5)

我需要一个for循环来删除对象数组的每个值中的'.00'。要删除'.00'这很容易,但是在我删除它之后,我仍然无法用对象数组中的新值替换旧值。

你能帮助我,如何用PHP修改对象数组中的值?

谢谢!

3 个答案:

答案 0 :(得分:2)

罗,

这么简单..我会给你一个例子

 foreach($data['bottom_max'] as $key => $value)
 {
     foreach ($value as $name_row => $val_row) {
         if (strpos($val_row, '.0')) {
             $tmp = substr($val_row, 0, -3);
             $data['bottom_max'][$key]->$name_row = $tmp;
         }
     }
 }

希望它能回答你的问题。

答案 1 :(得分:0)

简单:

<?php
$object[0]->time1 = '10:00:00';
?>

就像你想象的那样

答案 2 :(得分:0)

试试这个(通过引用访问obejct):

foreach($array as & $obj) {
    $obj->time1 = $newvalue;
}