Добрый день. Появилась такая проблема: вывожу телепрограмму блоками по телеканалам. Создается массив телеканалов а в каждом должен создаваться массив с его телепередачами. НО! У меня получается так, что с каждым новым телеканалом тот массив просто дополняется (не знаю как менять имя нового массива). Думал чистить массив. Unset() не помог. Какие есть еще варианты?
вариант один: научиться внятно формулировать вопрос. вот увидишь, когда вопрос хорошо поставлен, решение внезапно само находится. Добавлено спустя 5 минут 29 секунд: если я правильно интерпретирую это г*, нужен двумерный массив. PHP отлично справляется вот с такой вещью: Код (PHP): $channel[] = $next_shit; // здесь одномерный массив $whole_peace_of_shit[] = $channel; // здесь уже двумерный массив или Код (PHP): $channel0 = $channel1 = $channel2 = array(); $channels = array(&$channel0, &$channel1, &$channel2); $channel[0][] = 'shit'; echo $channel0[0]; // выведет 'shit' — магия!
В общем суть: Код (Text): $query = "SELECT * FROM `channels`"; $sql = mysql_query($query) or die(mysql_error()); while ($row = mysql_fetch_assoc($sql)) { $rel[] = $row; $query2 = "SELECT * FROM `tvprog` WHERE `channel` = '".$channel_name."' AND `date`='".date("Y-m-d")."' ORDER BY `Id`"; $sql2 = mysql_query($query2) or die(mysql_error()); while ($row2 = mysql_fetch_assoc($sql2)) { $rel2[] = $row2; } } Отсюда массив $rel2[] (массив телепередач) с каждым новым телеканалом просто дополняется, а мне надо, чтобы на каждом новом телеканале был свой массив телепередач.
Код (PHP): ${$rel.$id}[] Если не поймешь, не делай =)) Я как то было дело, тоже хотелось разных массивов =)
тип того Код (PHP): $query = "SELECT * FROM `channels`"; $sql = mysql_query($query) or die(mysql_error()); $array = aray(); while ($row = mysql_fetch_assoc($sql)) { $tvprog=array(); $query2 = "SELECT * FROM `tvprog` WHERE `channel` = '" . $channel_name . "' AND `date`='" . date("Y-m-d") . "' ORDER BY `Id`"; $sql2 = mysql_query($query2) or die(mysql_error()); while ($row2 = mysql_fetch_assoc($sql2)) { $tvprog[] = $row2; } $array[$channel_name]=$tvprog; }
Код (PHP): $array[0]=1; function new_array($name_array,$key) {global ${$name_array}; return ${$name_array}[$key]; } echo new_array('array',0);