Qué significa el Aviso de PHP y cómo reproducirlo:
Si envía una matriz de PHP a una función que espera una cadena como: echo
o print
, entonces el intérprete de PHP convertirá su matriz a la cadena literal Array
, lanzará este Aviso y continuará. Por ejemplo:
php> print(array(1,2,3))
PHP Notice: Array to string conversion in
/usr/local/lib/python2.7/dist-packages/phpsh/phpsh.php(591) :
eval()'d code on line 1
Array
En este caso, la función print
vuelca la cadena literal: Array
a stdout y luego registra el Aviso en stderr y continúa.
Otro ejemplo en un script PHP:
<?php
$stuff = array(1,2,3);
print $stuff; //PHP Notice: Array to string conversion in yourfile on line 3
?>
Tiene 2 opciones, convertir su matriz PHP en String usando un conversor de matriz a cadena o suprimir el Aviso de PHP.
Corrección 1: use la función php incorporada print_r o var_dump:
http://php.net/manual/en/function.print-r.php o http://php.net/manual/en/function.var-dump.php
$stuff = array(1,2,3);
print_r($stuff);
$stuff = array(3,4,5);
var_dump($stuff);
Huellas dactilares:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
array(3) {
[0]=>
int(3)
[1]=>
int(4)
[2]=>
int(5)
}
Corrección 2: use json_encode para contraer la matriz a la cadena json:
$stuff = array(1,2,3);
print json_encode($stuff); //Prints [1,2,3]
Corrección 3: Unir todas las celdas de la matriz:
<?php
$stuff = array(1,2,3);
print implode(", ", $stuff); //prints 1, 2, 3
print join(',', $stuff); //prints 1, 2, 3
?>
Corrección 4: suprima los Avisos:
error_reporting(0);
print(array(1,2,3)); //Prints 'Array' without a Notice.
$Texting[i]
un error tipográfico? ¿No debería ser eso en su$Texting[$i]
lugar?var_dump($Texting)
.