2013-05-30 3 views
2

Я пытаюсь кодировать данные в JSON в PHP (версия 5.3.13) и отправлять их на JavaScript. Моя проблема: Когда перекодировать массив без ассоциативных массивов, он возвращает неопределенное значение:json_encode возвращает undefined с массивом неассоциативных массивов

$arr = array(array(1, 2, 3)); 
echo json_encode($arr); // outputs nothing ("") 

Можете ли вы мне помочь?

Edit: моя ОС FreeBSD 8.1-RELEASE

Edit: Если это может помочь, я использую это в MODX Эво веб-сайта. Я использовал этот php-скрипт, назвав его формой веб-страницы, и все работает нормально. Но затем я создаю snipet, который содержит 1 строку кода - включает этот php-скрипт. Теперь я вызываю веб-страницу с содержанием, кроме этого фрагмента. Логично это то же самое, но теперь это не работает.

+0

его возвращаемые данные json..http: //eval.in/31887 – sAnS

+0

Я очень сомневаюсь, что ... можете ли вы воспроизвести проблему на http://3v4l.org, http://ideone.com, http://codepad.org или аналогичный сайт онлайн-скриптов? – Passerby

+0

Существует версия PHP 5.4.6, и у меня есть 5.3.13. Я не могу обновить его, потому что некоторые другие скрипты могут перестать работать. –

ответ

0

Показать все ошибки.
И используйте var_dump вместо echo.

<?php 

ini_set('display_errors', 1); 
error_reporting(E_ALL); 

$json = json_encode(array(array(1, 2, 3))); 
var_dump($json); 
+1

Я использовал все ваши советы и с помощью 'var_dump (json_encode ($ json)) 'is output' string (9) "" '. Я не un что это означает –

+0

строка (** 9 **)!?!?!? – mpyw

+0

Да, 'string (9)" "' с пустой строкой и пробелом в конце –

0

На самом деле ваш скрипт работает нормально.

[[1,2,3]] //Output 

Моя PHP-версия 5.3.8, пожалуйста, не могли бы упомянуть вашу версию php. Может быть, ваша версия PHP меньше, чем 5.2

+0

Я упомянул об этом выше - это PHP 5.3.13 –

+0

О, извините, я не заметил! Ваша версия PHP в порядке – webGautam

Смежные вопросы