2010-02-04 4 views
1

мой PHP код выглядит следующим образом:использовать php-массив в javascript?

$result['firstName']['lastName']='johan'; 
echo json_encode($result); 

как я должен ввести, чтобы использовать этот массив в JavaScript с JQuery?

...function(data) { 
    alert(data.firstName.lastName); 
}); 

или

...function(data) { 
    alert(data.firstName['lastName']); 
}); 
+0

Вы пробовали это? Эксперимент! Экспериментация никогда не делала никакого вреда, никогда. Ни разу. : P – karim79

ответ

5

JQuery не влияет доступа к объектам, так что вы можете просто сделать

data.firstName.lastName 
+0

В моем случае после эха $ data я получил предупреждение johan :-) – streetparade

+0

Что вы имеете в виду под «не влияет на доступ к объекту» – ajsie

+0

@noname, я просто говорил, что введение jQuery не меняет ситуацию , – tmpvar

1

Это работало для меня, но ее очень некрасивой

<?php 

$result['firstName']['lastName']='johan'; 
$data = json_encode($result); 

?> 
<html> 
<body onload='myfunction(<?php echo $data; ?>);'> 
<script> 
function myfunction(data) 
{ 
alert(data.firstName.lastName); 
} 
</script> 
</body> 
</html> 
2

Javascript технически не имеет ассоциативных массивов, так что технически в Javascript вы работаете с объектом. Любой синтаксис, который вы использовали, должен работать.

+1

Технически каждый экземпляр объекта является ассоциативным массивом. – Anonymous

2

Синтаксис объекта ['property'] необходим только в javascript для чисел или синтаксически неоднозначных ключей (например, содержащих пробелы).

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