PHP 配列エンコード変換エラー
public function array_iconv($in_charset,$out_charset,$arr){
return eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).'; '));
}
上記のメソッドを使用して次の配列を変換したところ、エラーが発生しました
致命的なエラー: D:softapachehtdocswebtestarrayiconv.func.php( の未定義メソッド stdClass::__set_state() への呼び出し5) : eval () 行のコード
array(5) {
[0]=>
object(stdClass)#8 (6) {
[" optionContent"]= >
string(4) "None"
["optionId"]=>
int(4137)
["optionImage"]=>
NULL
["optionScore"]=>
int(0)
["optionSortId"]=>
string(1) "A"
["quesId"]=>
int( 1245)
}
[1]=>
object(stdClass)#9 (6) {
["optionContent"]=>
string(8) "ほぼなし"
["optionId"]=>
int(4138)
["optionImage"]=>
NULL
["optionScore"]=> int(1 )
["optionSortId"]=>
string(1) "B"
["quesId"]=>
int(1245)
}
[2] =>
object(stdClass)#10 (6) {
["optionContent"]=>
string(4) "Sometimes"
["optionId"]=>
int(4139)
["optionImage"]=>
NULL
["optionScore"]=>
int(2)
["optionSortId"]=>
string(1) "C"
["quesId"]=>
int(1245)
}
[3]=>
object(stdClass)#11 ( 6) {
["optionContent"]=>
string(4) "Often"
["optionId"]=>
int(4140)
["optionImage"] =>
NULL
["optionScore"]=>
int(3)
["optionSortId"]=>
string(1) "D"
[ "quesId"]=>
int(1245)
}
[4]=>
object(stdClass)#12 (6) {
["optionContent"]=> ;
string(4) "常に"
["optionId"]=>
int(4136)
["optionImage"]=>
NULL
[" optionScore "]=>
int(4)
["optionSortId"]=>
string(1) "E"
["quesId"]=>
int( 1245 )
}
-----解決策---------
再帰的に走査しましょう...