在不更改结构的情况下修改php codeigniter活动记录结果中的数据

在不更改结构的情况下修改php codeigniter活动记录结果中的数据,php,arrays,codeigniter,object,activerecord,Php,Arrays,Codeigniter,Object,Activerecord,我有一个codeigniter活动记录查询,它使用get('table_name')->result() 输出如下,我想做的是取消序列化(base_64_解码)“场馆开放时间”字符串,并用未序列化和base64_解码数据的结果替换数据结构中的该字符串。我知道我可以正常地使用array_walk来执行此操作,但我不知道如何将特定的数据位作为数组中的对象来访问 谢谢 array(2) { [0]=> object(stdClass)#142 (4) { ["entry_id"]

我有一个codeigniter活动记录查询,它使用get('table_name')->result()

输出如下,我想做的是取消序列化(base_64_解码)“场馆开放时间”字符串,并用未序列化和base64_解码数据的结果替换数据结构中的该字符串。我知道我可以正常地使用array_walk来执行此操作,但我不知道如何将特定的数据位作为数组中的对象来访问

谢谢

array(2) {
  [0]=>
  object(stdClass)#142 (4) {
    ["entry_id"]=>
    string(2) "15"
    ["google-id"]=>
    string(40) "552e7c08d3b86c14d130ebe43a0ba421d03a60ae"
    ["venue_opening_hours"]=>
    string(148) "YToxOntzOjEzOiJvcGVuaW5nX2hvdXJzIjthOjE6e3M6NzoicGVyaW9kcyI7YToxOntzOjQ6Im9wZW4iO2E6Mjp7czozOiJkYXkiO3M6MToiNSI7czo0OiJ0aW1lIjtzOjQ6IjIzMTUiO319fX0="
    ["title"]=>
    string(18) "Place Name"
  }
  [1]=>
  object(stdClass)#143 (4) {
    ["entry_id"]=>
    string(2) "18"
    ["google-id"]=>
    string(40) "71d9c8e1f64f330637c96d30a0ae15533836a85e"
    ["venue_opening_hours"]=>
    string(972) "YToxOntzOjEzOiJvcGVuaW5nX2hvdXJzIjthOjE6e3M6NzoicGVyaW9kcyI7YToxMDp7aTowO2E6MTp7czo1OiJjbG9zZSI7YToyOntzOjM6ImRheSI7czoxOiIxIjtzOjQ6InRpbWUiO3M6NDoiMjMzMCI7fX1pOjE7YToxOntzOjQ6Im9wZW4iO2E6Mjp7czozOiJkYXkiO3M6MToiMSI7czo0OiJ0aW1lIjtzOjQ6IjIzMTUiO319aToyO2E6MTp7czo1OiJjbG9zZSI7YToyOntzOjM6ImRheSI7czoxOiIxIjtzOjQ6InRpbWUiO3M6NDoiMjMxNSI7fX1pOjM7YToxOntzOjQ6Im9wZW4iO2E6Mjp7czozOiJkYXkiO3M6MToiMSI7czo0OiJ0aW1lIjtzOjQ6IjIzMzAiO319aTo0O2E6MTp7czo1OiJjbG9zZSI7YToyOntzOjM6ImRheSI7czoxOiIyIjtzOjQ6InRpbWUiO3M6NDoiMjMxNSI7fX1pOjU7YToxOntzOjQ6Im9wZW4iO2E6Mjp7czozOiJkYXkiO3M6MToiMiI7czo0OiJ0aW1lIjtzOjQ6IjIzMzAiO319aTo2O2E6MTp7czo1OiJjbG9zZSI7YToyOntzOjM6ImRheSI7czoxOiI0IjtzOjQ6InRpbWUiO3M6NDoiMjMzMCI7fX1pOjc7YToxOntzOjQ6Im9wZW4iO2E6Mjp7czozOiJkYXkiO3M6MToiNCI7czo0OiJ0aW1lIjtzOjQ6IjIzMzAiO319aTo4O2E6MTp7czo1OiJjbG9zZSI7YToyOntzOjM6ImRheSI7czoxOiI1IjtzOjQ6InRpbWUiO3M6NDoiMjM0NSI7fX1pOjk7YToxOntzOjQ6Im9wZW4iO2E6Mjp7czozOiJkYXkiO3M6MToiNSI7czo0OiJ0aW1lIjtzOjQ6IjIzNDUiO319fX19"
    ["title"]=>
    string(24) "Other place name"
  }
}
您可以使用以下方式访问它:

$array[0]->venue_opening_hours
在for循环中

//foreach ($array as &$arrayItem)
//{
  foreach ($arrayItem as &$object)
  {
       // extract and convert it...
       //$openinghours =  unserialize(base64_decode($object->venue_opening_hours));
       // Update it...
       $object->venue_opening_hours = $unserialize(base64_decode($object->venue_opening_hours));
  }
//}
&$object
是一个引用,因此赋值将更改原始结果集中的值


我还忘了循环数组。。。我想!因此添加了外部循环:)

在foreach循环中,如果有10个条目,需要访问每个条目并应用该函数,那么该循环将如何工作?显然,我无法知道数组键索引来实现这一点?谢谢嗯,是的,但那将使它脱离原始结构,我需要修改数据,但维护数据结构,作为下一个需要它的方法,它需要以特定的格式。哦,酷,这是令人印象深刻的东西,出于某种奇怪的原因,我没有想到引用它。这是我的主要问题。非常感谢Brian,你真是太棒了:)嗯,我收到一个错误说:遇到了一个PHP错误严重性:注意消息:试图获取非对象的属性这行代码就是问题所在:$object->vention\u opening\u hours=unserialize(base64\u decode($object->vention\u opening\u hours));对,修正了,不需要外环。干杯,布莱恩!你太棒了!