2012-10-15 32 views
0

我有一个使用get('table_name') - > result()的codeigniter活动记录查询。修改php codeigniter活动记录结果中的数据而不改变结构

输出结果如下,我想要做的是反序列化(base_64_decode)“venue_opening_hours”字符串,并将数据结构中的字符串替换为非序列化的base64_decoded数据的结果。我知道我可以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" 
    } 
} 

回答

1

你会使用访问:

$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是一个参考,这样的分配将改变价值原始结果集...

另外我忘了也循环阵列......我想!所以添加了外部循环:)

+0

如何在foreach循环中工作,其中有10个条目,需要访问每个循环并应用该功能?显然我不能知道数组键索引做到这一点? 谢谢! – bjohnb

+0

编辑答案... – Brian

+0

嗯,是的,但是那样会把它从原来的结构中拿出来,我需要修改那些数据,但是维护那个数据结构作为需要它的下一个方法需要它在一定的格式。 – bjohnb