cari

Rumah  >  Soal Jawab  >  teks badan

Master PHP melihat masalah tatasusunan

        [['7','2'],['8','2'],['11','2'],['10','2'],['9','2']]

Inventori data adalah seperti ini ['7','2'] 7 mewakili id ​​produk dan 2 mewakili kuantiti produk yang dibeli

Sekarang bagaimana untuk memulihkannya kepada tatasusunan yang boleh digunakan oleh php?

高洛峰高洛峰2729 hari yang lalu843

membalas semua(7)saya akan balas

  • 滿天的星座

    滿天的星座2017-06-08 11:03:38

    Ini kaedah yang rumit: Sudah tentu, premisnya ialah data anda lengkap dan tidak akan ada nombor negatif, NULL atau apa-apa seperti itu

    $a = "[['7','2'],['8','2'],['11','2'],['10','2'],['9','2']]";
    $result = array();
    preg_match_all("/'(\d*)'/", $a, $matches);
    for ($i = 0; $i < count($matches[1]); $i += 2){
       $result[(int)$matches[1][$i]] = (int) $matches[1][$i+1];
    }

    Ujian peribadi berjaya

    balas
    0
  • 大家讲道理

    大家讲道理2017-06-08 11:03:38

    Anda tidak menyebut format tertentu, jadi saya akan menggunakan format berikut dahulu

    $data = [['7','2'],['8','2'],['11','2'],['10','2'],['9','2']];
    $products = array();
    foreach ($data as $tmp) {
        $products[] = array(
            'id' => $tmp[0],
            'total' => $tmp[1]
        );
    }
    var_dump($products);

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-08 11:03:38

    Terima kasih atas jemputan!

    Ini ialah tatasusunan, anda boleh gelungkan sahaja:

        $arr     = [['7','2'],['8','2'],['11','2'],['11','2'],['11','2']];
        var_dump($arr[0]);die;
        

    Susun atur ini bersamaan dengan:

        $arr     = array(
                        array('7','2'),
                        array('8','2'),
                        array('11','2'),
                        array('11','2'),
                        array('11','2'),
                    );
         var_dump($arr[0]);die;

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-06-08 11:03:38

    Jika anda mendepositkannya seperti ini, maka ia akan berakhir jika anda membuat asal semula.

    $str = json_encode(array(
        array(7, 2),
        array(8, 2),
    ));
    
    var_dump(json_decode($str));

    balas
    0
  • 迷茫

    迷茫2017-06-08 11:03:38

    Json standard memerlukan petikan berganda, jadi cuma tukar petikan tunggal menjadi petikan berganda dan kemudian json_decode

    $sqldata = "[['7','2'],['8','2'],['11','2'],['10','2'],['9','2']]";
    $sqldata = str_replace('\'', '\"', $sqldata );
    $data = json_decode($sqldata);
    echo $data[0][1]; // >> 2

    balas
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-08 11:03:38

    $str = "[['7','2'],['8','2'],['11','2'],['10','2'],['9','2']]";
    var_dump(eval('return '.$str.';'));

    Cubalah

    balas
    0
  • 三叔

    三叔2017-06-08 11:03:38

    json_decode() 

    balas
    0
  • Batalbalas