Устранение неполадок «Объект класса stdClass не может быть преобразован в строку» при отображении результата get_browser () - PullRequest
0 голосов
/ 14 ноября 2011
<?
/*current browser*/
$string = get_browser("name");
echo("$string");
?>

дает мне ошибку:

Исправимая фатальная ошибка: объект класса stdClass не может быть преобразован в строку в C: \ xampp \ htdocs \ endlessdescription \ header.php в строке 106

строка 106 - echo("$string"). У меня есть похожий фрагмент кода, который отображает дату и время последнего изменения, указанные выше, и он отлично работает.

Я взял это из книги, так что я не понимаю, почему это не сработает, разве «имя» не является допустимым аргументом get_browser? Любая помощь с благодарностью.

Ответы [ 4 ]

1 голос
/ 14 ноября 2011

попробуйте что-то вроде:

<?
$browser = get_browser(null, true);
echo($browser['browser']);
?>
1 голос
/ 14 ноября 2011

Как вы можете прочитать здесь , из официальной документации функция get_browser возвращает массив, а не просто строку.Таким образом, вы должны выбрать необходимую информацию и распечатать ее соответственно.Может быть, лучшая информация, которая соответствует вашим потребностям, это повторить значение browser.

0 голосов
/ 14 ноября 2011

Из документации get_browser на php.net:

Для того, чтобы это работало, ваш параметр конфигурации браузера в php.ini должен указывать на правильное расположение файла browscap.ini на ваша система. browscap.ini не поставляется с PHP, но вы можете найти актуальный файл php_browscap.ini здесь .

0 голосов
/ 14 ноября 2011

Как сказал выше чувак, он возвращает в массиве, способ распечатать это - использовать foreach ();Это распечатывает массив.

foreach($string as $string => $sub)
{
    echo $string.'<br />'.$sub.'<br />';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...