Допиливаю модуль для Datalife 9.5. Файл целиком можно глянуть здесь:
pastebin.ru/L4s8JMkW
Почему переменные в массиве $catlist при первом выводе отличаются от тех, что при втором выводе?
В первом print_r($cat_list); содержатся реально правильные данные, а при втором выводе появляются какие-то непонятные 2 значения..
Я ведь никак не меняю значение $cat_list в первом if.. так почему втором if он уже принимает другое значение?
if( preg_match( "#category=['\"](.+?)['\"]#i", $param_str, $match ) ) {
if($match[1]=="topcategory") {
$array_main=$cat_list;
print_r($cat_list);
}
if($match[1]=="topstudio") {
$array_topstudio=$cat_list;
print_r($cat_list);
}
...........
}
Array
(
[0] => 4
[1] => 260
[2] => 268
[3] => 278
[4] => 181
)
Array
(
[0] => 4
[1] => 260
[2] => 273
[3] => 265
[4] => 62
)
===============================
Если переписать код вот так, то print_r также выведет 2 массиве с такими же, как выше значениями.
При открытии страницы у меня дважды выполняется условие preg_match ... в каком месте наложение идёт.. не могу понять где...
if( preg_match( "#category=['\"](.+?)['\"]#i", $param_str, $match ) ) {
print_r($cat_list);
if($match[1]=="topcategory") {
$array_main=$cat_list;
}
if($match[1]=="topstudio") {
$array_topstudio=$cat_list;
}
...........
}
=================
ПРОБЛЕМА РЕШЕНА МЕТОДОМ ТЫКА!