PHP - Error en array con PHP v7.2 - cannot use string offset as an array php

 
Vista:
Imágen de perfil de David
Val: 29
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error en array con PHP v7.2 - cannot use string offset as an array php

Publicado por David (17 intervenciones) el 16/12/2019 15:07:26
Hola a todos,

El siguiente código funciona bien en PHP 5 pero en PHP 7.2 no funciona:

1
$_SESSION["pdf_elegidos_mail"]["idPDF"][]=$id_pdf;

En PHP 7.2 aparece el siguiente error: "cannot use string offset as an array php"

¿como lo puedo solucionar?

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error en array con PHP v7.2 - cannot use string offset as an array php

Publicado por joel (1269 intervenciones) el 16/12/2019 15:44:33
Hola David, exactamente que valor tiene $id_pdf?

Yo he probado esto:
1
2
3
$id_pdf=10;
$_SESSION["pdf_elegidos_mail"]["idPDF"][]=$id_pdf;
print_r($_SESSION["pdf_elegidos_mail"]);

y me ha devuelto:
1
2
3
4
5
6
7
8
Array
(
    [idPDF] => Array
        (
            [0] => 10
        )
 
)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de David
Val: 29
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error en array con PHP v7.2 - cannot use string offset as an array php

Publicado por David (17 intervenciones) el 16/12/2019 17:40:03
Es un valor numérico pero el error creo que está en el array, no en la variable.

Si hago así va bien:
1
$_SESSION["pdf_elegidos_mail"] = $id_pdf;

Si hago así va mal:
1
$_SESSION["pdf_elegidos_mail"]["idPDF"][] = $id_pdf;

Es como si el error fueran los corchetes []. En PHP 5 va bien pero en PHP 7.2 no.

Vaya, acabo de darme cuanta que si quito el session_start() que tengo al principio de la página funciona bien!


¿Como es posible?

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error en array con PHP v7.2 - cannot use string offset as an array php

Publicado por joel (1269 intervenciones) el 16/12/2019 18:05:46
A mi me funciona correctamente con php 7.3!!!

prueba a poner un archivo php únicamente con esto y llámalo desde un navegador, haber que te muestra:
1
2
3
4
5
<?php
 
$id_pdf=10;
$_SESSION["pdf_elegidos_mail"]["idPDF"][]=$id_pdf;
print_r($_SESSION["pdf_elegidos_mail"]);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de David
Val: 29
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error en array con PHP v7.2 - cannot use string offset as an array php

Publicado por David (17 intervenciones) el 16/12/2019 18:28:24
¡ya se que es!

Resulta que tenia definida en otra página lo siguiente:
session_start();
$_SESSION["pdf_elegidos_mail"]="";


Por tanto el problema era que estaba inicializada en otra página como una cadena de caracteres.
Ahora he cambiado a $_SESSION["pdf_elegidos_mail"]=null y listo!

Gracias por tu ayuda igualmente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error en array con PHP v7.2 - cannot use string offset as an array php

Publicado por joel (1269 intervenciones) el 16/12/2019 22:12:09
Ah, perfecto!!! gracias por comentarlo David!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar