簡體   English   中英

將字符串轉換為可用的json字符串或數組對象

[英]Convert a string to a usable json string or array object

一個函數將兩個參數作為func($t,$stringt){}

其中$ t是整數, $stringt是任何字符串, $stringt的格式如下

for $t = 1;
$stringt = '({A,B,C,D,E,F},{(A,B),(B,C),(C,A),(E,D),(D,A),(F,A)})'; 
//or it can be
$stringt = '({A,B,C,D,E,F},{(A,B),(B,C),(C,A),(D,A),(B,A),(A,E),(F,A)})';
for $t = 2;
    $stringt = '({A,B,C},{(A,B),(B,C),(C,A)}),({A,B,C,D,E},{(A,B),(B,C),(C,A),(D,A),(E,D),(A,E),(E,C),(D,B)})';

如何將這個簡單的字符串轉換為任何可用的json字符串

這樣說

 $json = '[

                        [
                             [
                                "A", "B", "C"
                             ],
                             [
                                [
                                    "A" , "B"
                                ],
                                [
                                    "B","C"
                                ],
                                [
                                    "C","A"
                                ]
                             ]
                        ],
                        [
                             [
                                "A", "B", "C", "D", "E"
                             ],
                             [
                                [
                                    "A","B"
                                ],
                                [
                                    "B","C"
                                ],
                                [
                                    "C","A"
                                ],
                                [
                                    "D","A"
                                ],
                                [
                                    "E","D"
                                ],
                                [
                                    "A","E"
                                ],
                                [
                                    "E","C"
                                ],
                                [
                                    "D","B"
                                ]
                             ]

                        ] 
        ]';

這樣我就可以達到所需的結果。 我正在尋找的輸出是這樣的

全部與第二組元素A組合

$array_a = array( array('A','B'),array('C','A'),array('D','A'),array('A','E'));
var_dump($array_a);
echo count($array_a);

對於所有值對都類似。

有沒有其他方法可以處理給定的輸入字符串,比如說要在第一個集合中然后在第二個集合和第n個集合中找到A(或其他任何一個)的所有值pare。

如果您對格式有把握,這對我有用:

$json = '({A,B,C,D,E,F},{(A,B),(B,C),(C,A),(E,D),(D,A),(F,A)})';

$json = preg_replace('/([^\(\)\{\}\[\],]+)/', '"$1"', $json);
$json = preg_replace('/[\{\(]/', '[', $json);
$json = preg_replace('/[\}\)]/', ']', $json);

$array = json_decode($json, true);

echo '<pre>';

print_r($array);

結果:

Array
(
    [0] => Array
        (
            [0] => A
            [1] => B
            [2] => C
            [3] => D
            [4] => E
            [5] => F
        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => A
                    [1] => B
                )

            [1] => Array
                (
                    [0] => B
                    [1] => C
                )

            [2] => Array
                (
                    [0] => C
                    [1] => A
                )

            [3] => Array
                (
                    [0] => E
                    [1] => D
                )

            [4] => Array
                (
                    [0] => D
                    [1] => A
                )

            [5] => Array
                (
                    [0] => F
                    [1] => A
                )

        )

)

但是,它對於包含[] {} () ,任何一個的項目可能不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM