Visualizzazione dei risultati da 1 a 1 su 1
  1. #1

    Aiuto su parsin JSON con dai variabili

    ciao!

    in pratica devo fare il parse di un JSON, e fare la somma di alcuni campi.
    questo il codice scritto fino ad ora:
    codice:
    <?php
    
    
    $json = '{
        "post_data": {
            "product-quantity-option": {
                "464724375_464724376": {
                    "1246178603_1246178605": "0",
                    "1246178602_1246178605": "0",
                    "1246178601_1246178605": "0",
                    "1246178600_1246178605": "0",
                    "1246178603_1246178604": "0",
                    "1246178602_1246178604": "0",
                    "1246178601_1246178604": "0",
                    "1246178600_1246178604": "0",
                    "1246178603_1246178607": "10",
                    "1246178602_1246178607": "0",
                    "1246178601_1246178607": "0",
                    "1246178600_1246178607": "0",
                    "1246178603_1246178606": "40",
                    "1246178602_1246178606": "0",
                    "1246178601_1246178606": "0",
                    "1246178600_1246178606": "0"
                }
            },
            "option": {
                "464724370": "",
                "464724373": "",
                "464724374": ""
            },
            "product_id": "9431"
        }
    }';
    
    
    $datas = json_decode($json,true);
    $postData = $datas['post_data'];
    //var_dump($postData);
    //echo '<hr>';
    $postDataQtyOpt = $postData['product-quantity-option'];
    var_dump($postDataQtyOpt);
    dovrei fare la somma di tutti i recods all'interno di 464724375_464724376.
    quindi totale 50 in questo caso.

    il mio problema è che 464724375_464724376 non è fisso, ma varia a seconda dei dati che arrivano in post da jquery.
    come posso fare secondo voi??

    -------

    scusate ci sono arrivato subito dopo.
    metto la soluzione:
    codice:
    <?php
    
    
    $json = '{
        "post_data": {
            "product-quantity-option": {
                "464724375_464724376": {
                    "1246178603_1246178605": "0",
                    "1246178602_1246178605": "0",
                    "1246178601_1246178605": "0",
                    "1246178600_1246178605": "0",
                    "1246178603_1246178604": "0",
                    "1246178602_1246178604": "0",
                    "1246178601_1246178604": "0",
                    "1246178600_1246178604": "0",
                    "1246178603_1246178607": "10",
                    "1246178602_1246178607": "0",
                    "1246178601_1246178607": "0",
                    "1246178600_1246178607": "0",
                    "1246178603_1246178606": "40",
                    "1246178602_1246178606": "0",
                    "1246178601_1246178606": "0",
                    "1246178600_1246178606": "0"
                }
            },
            "option": {
                "464724370": "",
                "464724373": "",
                "464724374": ""
            },
            "product_id": "9431"
        }
    }';
    
    
    $datas = json_decode($json, true);
    $postData = $datas['post_data'];
    $postDataQtyOpt = $postData['product-quantity-option'];
    $qta = 0;
    foreach ($postDataQtyOpt as $item) {
      foreach ($item as $key => $value) {
        echo "$key:$value<br>";
        $qta += $value;
      }
    }
    echo $qta;
    Ultima modifica di fermat; 23-01-2024 a 11:46

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.