2

何かの中に入れ子になっている場合、要素を見逃すために爆発に対処する方法について誰かが何か考えを持っていますか?以下の例。

だから私はそのようなデータ構造を持っています...

 {1,2,3,{4,2},5,6}

私はそれをそのようなphp配列に変換しようとしています...

 array( 1, 2, 3, array( 4, 2 ), 5, 6);

それがどのように機能するかについてのアイデアはありますか?いくつかの提案は、ステートマシンを監視しているときに正規表現または爆発しましたか?(しかし、私はそれらがどのように機能するのか分かりません:S)

4

1 に答える 1

1

あなたが試すことができます

$string  =  "{1,2,{3,2},4,5}" ;
var_dump(__array($string));

$string  =  "[1,2,3,[4,2],5]" ;
var_dump(__array($string));

$string  =  "(1,2,(3,2),4,5)" ;
var_dump(__array($string,array("(",")")));

$string  =  "+1,2,+3,2-,4,5-" ;
var_dump(__array($string,array("+","-")));


function __array($string,$seperator = array("{","}"))
{
    $string  = str_replace($seperator, array("[","]"), $string);
    return json_decode($string);
}

出力

array
  0 => int 1
  1 => int 2
  2 => 
    array
      0 => int 3
      1 => int 2
  3 => int 4
  4 => int 5
于 2012-10-08T20:28:53.037 に答える