0

分割する必要がある 1 つの大規模な要素を含む配列を返す API で、多くの問題が発生しています。これは、クラックするのが難しいことが証明されています。

 $CrappyArray = array([TheSingleElement]=>header1-header2-header3-value1.1-value1.2-value1.3-value2.1-value2.2-value2.3);

通常の爆発だけを使用してみました。

$BetterArray= explode('-', $CrappyArray['TheSingleElement']);
print_r($BetterArray);

残念ながら、それは単に返されます:

Array ([0]=>header1 [1]=>header2 [2]=>header3 [3]value1.1 [4]value1.2 [5]value1.3 [6]value2.1 [7]value2.2 [8]value2.3)

これは良くありません。私が必要とするのは:

Array (
[0]=>Array ([0]=>header1 [1]=>header2 [2]=>header3) 
[1]=>Array ([0]=>value1.1 [1]value2.2 [2]value2.3) 
[2]=>Array ([0]=>value2.1 [1]=>value2.2 [2]=>value2.3)
)

どうすればこれを達成できますか?

4

2 に答える 2

0

私はそれを考え出した!

$BetterArray = array_chunk($BetterArray, 3);
于 2013-01-30T03:13:37.570 に答える
0

基本的に、まずその醜い文字列をトークンに解析してから、トークンをたどって新しい配列を構築します。

爆発が十分でない場合 (ただし、今のところ問題ないように見えます)、preg_match_all を試してください。使い方は少し難しいですが、はるかに強力です。

トークンの配列として醜い文字列がある場合は、 foreach または自分に合ったものを使用してそれをウォークし、探している構造を構築します。

これよりも簡単な解決策はないと思います。

于 2013-01-30T03:09:15.430 に答える