2013-07-02 1 views
0

У меня есть массив в PHP.Найти длину массива, отправленного с php на javascript

$numArray=array("1","2","3","4"); 

Я хочу передать этот массив в javascript вместе с другими данными. я following-

в
$json = array(
      'num' => $numtArray 
    ); 

В JavaScript я делаю следующее.

var json=<?php echo json_encode($json); ?>; 
console.log(json['num'].length); 

Я получаю undefined в консоли. Как найти длину этого массива?

+5

Вы ознакомились с созданным кодом JavaScript? –

+0

Как выглядит фактический HTML/JavaScript при рендеринге страницы? –

+0

Вы видите опечатку? – georg

ответ

2

numArray v.s. numtArray. Обратите внимание на дополнительные t ... вы не назначаете свой массив, вы назначаете неопределенную переменную, создавая нуль.

0
var jsonText = "<?php echo json_encode($json); ?>"; 
var jsonData = JSON.parse(jsonText); 
console.log(jsonData['num'].length); 
0

Для передачи JSon и нужно кодировать данные, например:

$json = array(
    'num' => $numtArray 
); 
$json = json_encode($json); 

В JavaScript необходимо разобрать JSON снабжать струной, тетивой и т.п.

var json=<?php echo $json; ?>; 
console.log(JSON.parse(json)); 

, что есть, что показать вам? Кажется, это объект с ключом «num», который представляет собой массив, который вы ищете.

Я надеюсь, что это вам поможет.

+0

В вашем JavaScript-коде 'var json' является * not * строкой, поэтому вам не нужен' JSON.parse'. JSON можно оценить как код JavaScript, поэтому 'var json' уже является объектом, без необходимости синтаксического анализа. Если вы выполнили 'var json =" ";', Тогда вам нужно будет проанализировать его. –

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