द्वारा एक सरणी मैं एक बहुआयामी सरणी
संदर्भ
Array
(
[0] => Array
(
[page] => categorypropose
[value] => baby-sitters
[id] => 357960
)
[1] => Array
(
[page] => categorysearch
[value] => adéquate pour garder
[id] => 357961
)
...
)
मेरी MySQL डेटाबेस से प्राप्त इस सरणी में संशोधित करें, मैं UTF8 रूपांतरण करने के लिए कुछ ISO-8859-1 एक 'घर का बना' समारोह "loadtext के माध्यम से क्या करना है "।
लेकिन जब मैं यह कर:
$array = $query->result_array();
foreach($array as &$k)
{
foreach ($k as &$value)
{
//Works
$value = $this->loadtext($value, 'ISO-8859-1');
}
}
//Back to normal as $this->loadtext never existed
print_r($array);
यह परिवर्तन के संरक्षण नहीं करता है (जब मैं $ मूल्य गूंज, यह काम करता है, लेकिन संशोधन अंत में नहीं रखा जाता है ...)
संपादित करें: इस समारोह loadtext है कि मैं का उपयोग करने के उपकृत कर रहा हूँ है (वास्तव में, मैं समय पर नहीं था लेकिन मैं इसे उपयोग करने के लिए है ...)
function loadtext($text,$charset){
$text = stripslashes($text);
if($charset!="UTF-8")
$text = iconv("UTF-8",$charset,$text);
$text = str_replace(" :"," :",$text);
$text = str_replace(" ;"," ;",$text);
$text = str_replace(" !"," !",$text);
$text = str_replace(" ?"," ?",$text);
$text = str_replace(" ."," .",$text);
$text = str_replace(" …"," …",$text);
return $text;
}
मैं कुछ और डिबगिंग बातें जोड़ना होगा - एक 'print_r' और एक अन्य" outter "लूप के अंदर। और परीक्षण करें कि यदि आप परीक्षण के लिए '$ array = array (सरणी (1, 2, 3), सरणी (4, 5, 6)) और '$ value = $ value * 2' करते हैं तो परीक्षण करें। – Raekye