ホームページ  >  記事  >  バックエンド開発  >  PHP 配列エンコード変換の小さな例

PHP 配列エンコード変換の小さな例

WBOY
WBOYオリジナル
2016-07-27 16:56:17983ブラウズ
  1. function array_iconv($in_charset,$out_charset,$arr){
  2. return eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';'));
  3. }
コードをコピー

原理分析: var_export は 2 番目のパラメータを true に設定し、配列のプロトタイプ文字列を返し、その文字列を utf-8 エンコーディングに変換してから、eval を使用して戻りを実行します (匿名関数と同様?)。これで問題は完全に解決されます。

フォローアップ: インターネット上にあるメソッドのほとんどは、iconv の再帰呼び出しを使用しています。配列の要素が多すぎる場合、または次元が多すぎる場合、パフォーマンスは確実に良くありません。ネイティブ コードを使用する方が良い方法です。 N を考慮する必要があります。次元配列であっても連想配列であっても、配列変換の前後でデータの一貫性が確保されるように、すべてが自動的に完了します。

コードの長さとループとネイティブメソッドの比較から、この記事のメソッドはまだ優れています。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。