Что означает уведомление PHP и как его воспроизвести:
Если вы отправляете массив PHP в функцию, которая ожидает строку типа: echo
или print
, то интерпретатор PHP преобразует ваш массив в буквальную строку Array
, выдаст это уведомление и продолжит работу. Например:
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
В этом случае функция print
выгружает буквальную строку: Array
в стандартный вывод, а затем записывает уведомление в стандартный поток и продолжает работу.
Другой пример в сценарии PHP:
<?php
$stuff = array(1,2,3);
print $stuff; //PHP Notice: Array to string conversion in yourfile on line 3
?>
У вас есть 2 варианта: либо преобразовать массив PHP в строку с помощью преобразователя массива в строку, либо подавить уведомление PHP.
Исправление 1: используйте встроенную функцию php print_r или var_dump:
http://php.net/manual/en/function.print-r.php или 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);
Печать:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
array(3) {
[0]=>
int(3)
[1]=>
int(4)
[2]=>
int(5)
}
Исправление 2: используйте json_encode, чтобы свернуть массив в строку json:
$stuff = array(1,2,3);
print json_encode($stuff); //Prints [1,2,3]
Исправление 3: объединение всех ячеек в массиве вместе:
<?php
$stuff = array(1,2,3);
print implode(", ", $stuff); //prints 1, 2, 3
print join(',', $stuff); //prints 1, 2, 3
?>
Исправление 4: подавить уведомления:
error_reporting(0);
print(array(1,2,3)); //Prints 'Array' without a Notice.
$Texting[i]
это опечатка? Разве это не должно быть$Texting[$i]
вместо этого?