Показать сообщение отдельно
  #1 (permalink)  
Старый 12.06.2012, 15: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"]?>);
		<?
	}
	?>



Наверняка есть вменяемый способ в пару строк, а не мой кошмар
Ответить с цитированием