var_dump在json_decode中返回NULL

问题描述 投票:-2回答:1

[我在Laravel中有一个变量,它是一个数组,但是当我将其传递到另一个视图时,我无法对其进行“计数”或“ foreach”。

具有以下格式:

[{
    "imp": 18,
    "cantidad": 2,
    "pre": 379.5,
    "id": 62,
    "preu": "345",
    "marca_id": 4,
    "nombre_item": "zapato",
    "nombre_marca": "marca1",
    "item_codigo": "1234-xxa",
    "nombre_unidad": "NIU"
}, {
    "imp": 18,
    "cantidad": 2,
    "pre": 136.400000000000005684341886080801486968994140625,
    "id": 64,
    "preu": "124",
    "marca_id": 4,
    "nombre_item": "farol",
    "nombre_marca": "marca1",
    "item_codigo": "3434-f",
    "nombre_unidad": "NIU"
}]

我尝试过:

$detalle = json_decode ($detalle, true);
var_dump($detalle);

但是它返回null,我不知道发生了什么。


编辑:

EmailController.php(在这里我通过ajax帖子发送视图的变量,我发送的变量$ detalle是Eloquent de Laravel的数组。)

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Mail;

class EmailController extends Controller
{

    public function enviaremail(Request $request)
    {

        $this->validate($request, ['email' => 'required|email']);

        $data = array(
            'email' => $request->email,
            "numero" => $request->number,
            "nf" => $request->nf,
            "tienda" => $request->tienda,
            "total" => $request->total,
            "detalle" => $request->detalle,

            "fechae" => $request->fechae,
            "pdf" => $request->pdf
        );

        /* Mail::raw('Text', function ($message) use ($data) {
                $message->to($data['email']);
                $message->subject('Comprobante '.$data['nf'].'-'.$data['numero'].' Factura de '.$data['tienda']);
             $message->from('[email protected]', 'Maks.uno');

        }); */

        Mail::send('venta.email', $data, function ($message) use ($data)
        {
            $message->to($data['email']);
            $message->subject('Comprobante ' . $data['nf'] . '-' . $data['numero'] . ' Factura de ' . $data['tienda']);
            $message->from('[email protected]', 'Maks.uno');
        });

        return;

    }

}

这里是该视图的摘录,它将ajax变量发送到EmailController.php

$.ajax({
    type: "POST",
    url: "{{ route('enviaremail') }}",
    data: {
        "_token": "{{ csrf_token() }}",
        "email": email,
        "numero": number,
        "nf": nf,
        "tienda": ti,
        "fechae": fe,
        "total": tt,
        "pdf": pdf,
        "detalle": "{{   $det  }}"
    },
    success: function(response) {
        alert("Tu email fue enviado!")
    }
});

它在email.blade.php(呈现EmailController.php变量的视图中),我想遍历数组或其他变量。

<?php
    var_dump(json_decode($detalle, true));
php json
1个回答
0
投票

我使用“ html_entity_decode”解决了]

$jsonText = $request->detalle;
$decodedText = html_entity_decode($jsonText);
$myArray2 = json_decode($decodedText, true);
© www.soinside.com 2019 - 2024. All rights reserved.