1
NOTE : This is for a PHP script !

だから私はプログラムに取り組んできましたが、データを正しく分割できないため、今は行き詰まっています。

私はこのような番号のリストを持っています:

50.0.1 581 50.0.2 545 50.0.3 541 50.0.4 18 50.0.5 2 50.0.6 33 50.0.7 1 [...]

その情報をARRAYまたはJSON形式(推奨されるJSON)に追加しました。

主なデータは次のようになります(グループを取得します):50.0.1 581なので、基本的に50.0.1を581から分割してJSON / ARRAYに追加し、次のグループ(この場合は50.0.2 545)に移動する必要があります。 (等々)

JSONの例:

{"result": {
    "50.0.1": "581",
    "50.0.2": "545"
}}

注:最初の値は常に同じ形式になります:[0-9] {2}。[0-9]。[0-9](例:50.0.1)

ただし、2番目の値は1〜4桁の長さにすることができます:[0-9]{1,4}。

はっきりさせなかったらごめんなさい-説明するのはかなり難しいです。必要に応じてさらに例を追加します!

Thank you very much !
4

3 に答える 3

2

単にスペースで爆発します、例えば

$arr = explode(' ', $your_string);

次に、要素の各ペアを使用して新しい配列を作成します。

$newarr = array();
for ($i = 0; $i < count($arr); $i += 2) {  // note the += 2
    $newarr[$arr[$i]] = $arr[$i+1];
}
echo json_encode($newarr);

これらの「キー」値のいずれかが重複している場合、これはおそらく物事を台無しにすることに注意してください。

于 2012-11-24T14:57:22.093 に答える
0

もう1つの方法は、array_chunk()afterを使用してから、各ペアのexplode()JSの値にアクセスすることです。item[0]item[1]

于 2012-11-24T18:10:12.743 に答える
0

私自身の実用的な解決策:/([。\ d] )\ t(\ d)/。3つの配列を出力します。2番目と3番目を単純に組み合わせると、必要なものが得られます。

于 2012-11-24T17:28:53.073 に答える