繁体   English   中英

PHP - json_encode

[英]PHP - json_encode

我以这种方式手动生成 json 文件:

$output_json = '{
"tabela1": {
    "ilosc_wpisow": ';
    $output_json = $output_json.'"'."$ile_wierszy_1".'",'.'
    "tabela": [';


    for ($i = 1; $i <= $ile_wierszy_1; $i++) {
    $g = $i-1;
    $szukana_wartosc_array2[$g] = str_replace(" ",'\n',$szukana_wartosc_array[$g]); 
    $output_json = $output_json.'
    {
    "bajty_przed": '.'"'.$bajty_przed_array[$g].'",
    ';
    $output_json = $output_json.'"szukana_wartosc": '.'"'.$szukana_wartosc_array2[$g].'",
    ';
    $output_json = $output_json.'"bajty_po": '.'"'.$bajty_po_array[$g].'",
    ';
    $output_json = $output_json.'"nowa_wartosc": '.'"'.$nowa_wartosc_array[$g].'"
    }';
    if ($i!=$ile_wierszy_1) { $output_json = $output_json.','; }
    }
    $output_json = $output_json.'
    ]
},';


        $output_json = $output_json.'
"tabela2": {
    "ilosc_wpisow": ';
    $output_json = $output_json.'"'."$ile_wierszy_2".'",'.'
    "tabela": [';

    for ($i = 1; $i <= $ile_wierszy_2; $i++) {
    $g = $i-1;

        $output_json = $output_json.'
    {
    "szukana_wartosc2": '.'"'.$szukana_wartosc2_array[$g].'",
    ';
    $output_json = $output_json.'"zamien_na": '.'"'.$zamien_na_array[$g].'",
    ';
    $output_json = $output_json.'"przesuniecie": '.'"'.$przesuniecie_array[$g].'"
    }';
    if ($i!=$ile_wierszy_2) { $output_json = $output_json.','; }
    }
    $output_json = $output_json.'
    ]
}
}';

有人帮我创建 function json_encode? 我尝试以不同的方式将变量添加到数组中,但每次我在 output 上都有不同的东西。

Output: https://pastebin.com/f8keXaY7

第一步:在 php 数组中构建 json 结构并将其存储在变量中。

类似的东西。

$json_source = [
    'tabela1' => [
        "ilosc_wpisow" => $ile_wierszy_1,
        "tabela"       => array_map(function($key) use ($szukana_wartosc_array, $bajty_przed_array, $bajty_po_array, $nowa_wartosc_array) {
            return [
                "bajty_przed"     => $bajty_przed_array[$key],
                "szukana_wartosc" => str_replace(" ", '\n', $szukana_wartosc_array[$key]),
                "bajty_po"        => $bajty_po_array[$key],
                "nowa_wartosc"    => $nowa_wartosc_array[$key],
            ];
        }, array_keys($szukana_wartosc_array)),

    ],
    'tabela2' => [
        'ilosc_wpisow' => $ile_wierszy_2,
        'tabela'       => array_map(function($key) use ($szukana_wartosc2_array, $zamien_na_array, $przesuniecie_array) {
            return [
                'szukana_wartosc2' => $szukana_wartosc2_array[$key],
                "zamien_na"        => $zamien_na_array[$key],
                "przesuniecie"     => $przesuniecie_array[$key],
            ];
        }, array_keys($szukana_wartosc2_array)),
    ],
];

第二步:使用json_encode function。

echo json_encode($json_source);

而且,如果您的 output 总是不同,这意味着您的输入总是不同的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM