我想对数组使用 iconv 函数?

发布于 2024-11-28 08:30:47 字数 565 浏览 0 评论 0原文

这是我的数组:

$array = array(
                'name' => $burcname . ' Günlük yorumum',
                'link' => 'http://apps.facebook.com/gunlukburcpaylas/sonuc.php?burc='. $burc,
                'description' => $burcname . ' Günlük yorumu. Sizde her gün profilinizde günlük burç yorumunuz için uygulamaya katılın..',
                'message' => $aciklama,
                'picture' => $picture
                );

iconv 为: $example = iconv('UTF-8','ISO-8859-9',$array);

但这是数组。并且不工作。我能做些什么?

this is my array:

$array = array(
                'name' => $burcname . ' Günlük yorumum',
                'link' => 'http://apps.facebook.com/gunlukburcpaylas/sonuc.php?burc='. $burc,
                'description' => $burcname . ' Günlük yorumu. Sizde her gün profilinizde günlük burç yorumunuz için uygulamaya katılın..',
                'message' => $aciklama,
                'picture' => $picture
                );

iconv as: $example = iconv('UTF-8','ISO-8859-9',$array);

But this is array. and dont work. What can i do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

雪落纷纷 2024-12-05 08:30:47

您将需要迭代数组内容,或使用诸如 array_walk 之类的函数。

Foreach 循环(未经测试)

foreach(array_keys($array) as $key){
    $array[$key] = iconv('UTF-8','ISO-8859-9', $array[$key]);
}  

在此示例中需要使用 array_keys 的原因是因为标准 foreach 循环带有 foreach($array对 $value 所做的 $key => $value)foreach($array as $value) 修改不会被保留。

使用array_walk(未经测试)

function convert(&$value, $key){
    $value = iconv('UTF-8','ISO-8859-9', $value);
}
array_walk($array, 'convert');

如果您使用的是 PHP > 5.3 那么你可以使用 lambda 函数代替。

You will need to iterate the array contents, or use a function like array_walk.

Foreach loop (untested)

foreach(array_keys($array) as $key){
    $array[$key] = iconv('UTF-8','ISO-8859-9', $array[$key]);
}  

The reason you need to use array_keys in this example is because a standard foreach loop with foreach($array as $key => $value) or foreach($array as $value) modifications made to $value are not preserved.

Using array_walk (untested)

function convert(&$value, $key){
    $value = iconv('UTF-8','ISO-8859-9', $value);
}
array_walk($array, 'convert');

If you are using PHP > 5.3 then you can use a lambda function instead.

清醇 2024-12-05 08:30:47

array_walk_deep 函数(已测试)

$array = array("a",
    array("b",
      array("c",
        "d"
      )
    )
);

function array_walk_deep(&$items,$func){
    foreach ($items as &$item) {
        if(is_array($item))
          array_walk_deep($item,$func);
        else
          $item = $func($item);
    }
}

array_walk_deep($array, 'strtoupper');

print_r($array);

array_walk_deep function (tested)

$array = array("a",
    array("b",
      array("c",
        "d"
      )
    )
);

function array_walk_deep(&$items,$func){
    foreach ($items as &$item) {
        if(is_array($item))
          array_walk_deep($item,$func);
        else
          $item = $func($item);
    }
}

array_walk_deep($array, 'strtoupper');

print_r($array);
悍妇囚夫 2024-12-05 08:30:47

另一种解决方案是通过引用而不是通过值返回 foreach 的结果:

foreach( $array as &$value ) {
  $value = iconv( 'UTF-8','ISO-8859-9', $value );
}

值变量前面的“&”允许您使用实际的数组值而不是副本。 :)

Another solution would be to return the results from the foreach by reference instead of by value:

foreach( $array as &$value ) {
  $value = iconv( 'UTF-8','ISO-8859-9', $value );
}

The '&' in front of the value variable lets you use the actual array value instead of a copy. :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文