$ jobs是从数据库查询中检索的数组.print_r($jobs)说明:
Array
(
[ID] => 131
[Title] => -bla-
[Baseline] => lorem ipsum ...
[Description] => <ul><li>list 1</li><li>list 2</li></ul>
[EventID] => 1008
)
Array
(
[ID] => 132
[Title] => -bla 2-
[Baseline] => lorem ipsum lorem ipsum...
[Description] => <ul><li>list 1</li><li>list 2</li></ul>
[EventID] => 1009
)
Run Code Online (Sandbox Code Playgroud)
等......
我想在这些数组的所有值上运行utf8_encode().我不确定我是否应该使用array_map,array_walk_recursive?输出不应该改变数组键的名称,这样我就不需要在模板中更改任何内容了
<h1><?=$j['title']?></h1>
Run Code Online (Sandbox Code Playgroud)
应该仍然有效,尽管是utf8编码的.
编辑:我正在尝试以下,没有运气
function fix_chars($key, $value)
{
return utf8_encode($value);
}
array_walk_recursive($jobs, 'fix_chars');
Run Code Online (Sandbox Code Playgroud)
ITr*_*ubs 24
这应该工作:
<?php
function encode_items(&$item, $key)
{
$item = utf8_encode($item);
}
array_walk_recursive($jobs, 'encode_items');
?>
Run Code Online (Sandbox Code Playgroud)
这是一个例子array_map():
function utf8_encode_array($array) {
return array_map('utf8_encode', $array);
}
$encoded_array = array_map('utf8_encode_array', $your_array);
Run Code Online (Sandbox Code Playgroud)
我不知道array_map和之间是否存在性能差异array_walk_recursive.