配列文字列を次のように変換したい
[["a","b",["c1","c2"]],"d",["e1","e2"]]
PHPで配列に。
それを行う方法はありますか?
提供された文字列は有効な JSON であるためjson_decode
、実際の (PHP) 配列に変換するために使用できます。
ドキュメントからほぼそのまま引用 (文字列のみが変更されました):
$json = '[["a","b",["c1","c2"]],"d",["e1","e2"]]';
var_dump(json_decode($json));
この場合、他のコード エバリュエーター (つまりeval
) でハッキングしようとするよりもはるかにクリーンで安全であり、カスタム解析コードを記述するよりも簡単です。
PHPで多次元配列を単純なものに「フラット化」する方法の重複の可能性はありますか? および多次元配列を平坦化する方法は?
私にとって最も簡単で素敵な解決策は
function flatten(array $array) {
$return = array();
array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
return $return;
}