2012-10-15 33 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