Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.06.2012, 14:22
Новичок на форуме
Отправить личное сообщение для ivandelov Посмотреть профиль Найти все сообщения от ivandelov
 
Регистрация: 12.06.2012
Сообщений: 3

Создание многомерного массива из PHP
День добрый.
Мало работал Javascript, помогите с генерацией массива.

Задача: сгенерировать многомерный массив из аналогичного массива в PHP.

В PHP сделал так:

$arResult["AR_ZAPIS_LEVEL"] = array();
foreach($arResult["AR_ZAPIS"] as $item)
{
	$ardate = explode(".", $item["PROPERTY_DATE_VALUE"]);
	//dump($ardate);
	$arResult["AR_ZAPIS_LEVEL"][$ardate[2]][$ardate[1]][$ardate[0]][$item["PROPERTY_TIME_ENUM_ID"]] = $item;
	
}


Для Javascript не сообразил ничего лучше, чем сделать так:

//формируем такой же массив для скрипта
	ar_allzap_level = new Array();
	//ar_allzap_level = new Object();
	<?
	foreach($arResult["AR_ZAPIS"] as $item)
	{
		$ardate = explode(".", $item["PROPERTY_DATE_VALUE"]);
		//dump($ardate);
		//формируем такой же массив для скрипта
		?>
		if( ar_allzap_level[<?=$ardate[2]?>] == undefined )
		{
			ar_allzap_level[<?=$ardate[2]?>] = new Array();
		}
		if( ar_allzap_level[<?=$ardate[2]?>][<?=$ardate[1]?>] == undefined )
		{
			ar_allzap_level[<?=$ardate[2]?>][<?=$ardate[1]?>] = new Array();
		}
		if( ar_allzap_level[<?=$ardate[2]?>][<?=$ardate[1]?>][<?=$ardate[0]?>] == undefined )
		{
			ar_allzap_level[<?=$ardate[2]?>][<?=$ardate[1]?>][<?=$ardate[0]?>] = new Array();
		}
		ar_allzap_level[<?=$ardate[2]?>][<?=$ardate[1]?>][<?=$ardate[0]?>].push(<?=$item["PROPERTY_TIME_ENUM_ID"]?>);
		<?
	}
	?>



Наверняка есть вменяемый способ в пару строк, а не мой кошмар
Ответить с цитированием
  #2 (permalink)  
Старый 12.06.2012, 16:14
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Тебе нужно передать массив из php в js?
Или сделать копию массива в js?
__________________
оляля, ололо
Ответить с цитированием
  #3 (permalink)  
Старый 12.06.2012, 19:03
Новичок на форуме
Отправить личное сообщение для ivandelov Посмотреть профиль Найти все сообщения от ivandelov
 
Регистрация: 12.06.2012
Сообщений: 3

Передать из php в js
Ответить с цитированием
  #4 (permalink)  
Старый 12.06.2012, 19:25
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

ivandelov,
<?php
$arr = array(
'a' => 1, 
'b' => 2, 
'c' => 3, 
'd' => 4, 
'e' => 5
);
echo "<script> var a = eval(".json_encode($arr).") </script> ";
?>
<script>
console.log(a)
</script>


На выходе получаете объект js, с которым обращаетесь также, как и в php:
alert(a['a']) //1
alert(a['b']) // 2

P.S. сам как-то мучался с этим же)
__________________
оляля, ололо
Ответить с цитированием
  #5 (permalink)  
Старый 12.06.2012, 20:39
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

eval то зачем?
Ответить с цитированием
  #6 (permalink)  
Старый 12.06.2012, 20:45
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Так без него, json_encode($arr) обычная строка...
Хм...а хотя нет, все ок. Можно eval не юзать.
__________________
оляля, ололо
Ответить с цитированием
  #7 (permalink)  
Старый 13.06.2012, 20:01
Новичок на форуме
Отправить личное сообщение для ivandelov Посмотреть профиль Найти все сообщения от ivandelov
 
Регистрация: 12.06.2012
Сообщений: 3

Спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача массива из Php в Javascript kamushek Серверные языки и технологии 45 20.02.2012 09:11
из массива json в (php) переменные Sadist_dead AJAX и COMET 6 24.08.2011 21:58
Передача массива из PHP Ajxom simple AJAX и COMET 26 11.04.2011 14:01
передача массива из PHP в javascript simple Общие вопросы Javascript 3 03.10.2010 11:19
есть ли стандартная функция вывода сожержимого массива что то вроди print_r в PHP??? mazovski Events/DOM/Window 4 20.08.2009 11:52