Здравствуйте;
Модуль php генерирует одномерный массив, элементами которого являются одинаковые одномерные массивы переменной длины:
Array
(
[0] => Array
(
[0] => 2
[id] => 2
[1] => 1
[Type] => 1
[2] => Desk
[Name] => Desk
[3] =>
[Sound] =>
. . .
)
[1] => Array
(
[0] => 5
[id] => 5
[1] => 1
[Type] => 1
[2] => Table
[Name] => Table
[3] =>
[Sound] =>
. . .
)
. . .
[N] => Array
(
[0] => 5
[id] => 5
[1] => 1
[Type] => 1
[2] => Table
[Name] => Table
[3] =>
[Sound] =>
. . .
)
)
Передается этот массив в ява скрипт так:
print json_encode($curtable);?>
В принципе, массив передается и превращается в ява скрипт объект:
$.ajax
(
{
type: "POST",
data: "key="+table,
url: "\ajax.php",
dataType: "json",
success: function(data)
{
alert('data[0][0]='+data[0][0]); //data[0][0]=2, data[1][2]=Table
alert('data[0].lenght='+data[0].lenght); // Строка не выполняется
}
}
);
Проблема в том, что массив (или объект) data[0] может быть переменной длинны. Соответственно нужно знать длину этого массива.
Как узнать длину массива?
В принципе, в PHP-ном массиве элементы вида Array[имя]=значение - не нужны. Эти элементы генерируются автоматически и являются избыточными. Может быть их нужно убрать в PHP и оставить элементы вида Array[номер]=значение, что бы в ява скрипте нормально определялась длинна массива?