powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вопрос про массив
7 сообщений из 7, страница 1 из 1
Вопрос про массив
    #38002040
f0x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
f0x
Гость
Есть массив $a вида

Код: php
1.
2.
3.
4.
5.
6.
7.
Array ( [0] => Array ( [IDField] => 0 [TitleField] => Все ) 
        [1] => Array ( [groups_id] => 117 [groups_name] => Новости моды ) 
        [2] => Array ( [groups_id] => 111 [groups_name] => Category two ) 
        [3] => Array ( [groups_id] => 119 [groups_name] => >> Sub category 1 ) 
        [4] => Array ( [groups_id] => 120 [groups_name] => >> Sub category 2 ) 
        [5] => Array ( [groups_id] => 113 [groups_name] => Category three ) 
       ) 



есть 2 сервра

на одном при проходе

Код: php
1.
foreach($a as $i => $value)  echo current($a[$i]);



на первом, так как надо, получаю
-----------------------
0
117
111
119
120
113
------------------------


на втором,
---------
0
Новости моды
Category two
>> Sub category 1
>> Sub category 2
Category three
---------

В чем может быть проблема, куда копать?
Спасибо.
...
Рейтинг: 0 / 0
Вопрос про массив
    #38002179
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f0xЕсть массив $a вида

Код: php
1.
2.
3.
4.
5.
6.
7.
Array ( [0] => Array ( [IDField] => 0 [TitleField] => Все ) 
        [1] => Array ( [groups_id] => 117 [groups_name] => Новости моды ) 
        [2] => Array ( [groups_id] => 111 [groups_name] => Category two ) 
        [3] => Array ( [groups_id] => 119 [groups_name] => >> Sub category 1 ) 
        [4] => Array ( [groups_id] => 120 [groups_name] => >> Sub category 2 ) 
        [5] => Array ( [groups_id] => 113 [groups_name] => Category three ) 
       ) 



есть 2 сервра

на одном при проходе

Код: php
1.
foreach($a as $i => $value)  echo current($a[$i]);



на первом, так как надо, получаю
-----------------------
0
117
111
119
120
113
------------------------


на втором,
---------
0
Новости моды
Category two
>> Sub category 1
>> Sub category 2
Category three
---------

В чем может быть проблема, куда копать?
Спасибо.

а если перед current попробовать reset вызвать?... и не отличается ли var_dump($a) на этих двух серверах?
...
Рейтинг: 0 / 0
Вопрос про массив
    #38002236
f0x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
f0x
Гость
Програмёр, var_dump($a) идентичен

а вот reset($a[$i]); помог, большое спасибо!!!!

и все же, в чем причина такого?
...
Рейтинг: 0 / 0
Вопрос про массив
    #38002259
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f0xПрограмёр, var_dump($a) идентичен

а вот reset($a[$i]); помог, большое спасибо!!!!

и все же, в чем причина такого?

Код покажи (с момента создания массива), может там что есть.
Хотя в принципе, я не видел нигде обещаний, что по умолчанию курсор будет установлен в первую позицию. То есть это может быть так же, как и в delphi, при вызове GetMem, никто не обещает, что выделенная память будет заполнена нулями, поэтому обычно сразу после этого вызывают fillchar.
...
Рейтинг: 0 / 0
Вопрос про массив
    #38002290
f0x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
f0x
Гость
Програмёр,

собирается так

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
$obj->Links["groups_id"] = Array("TableName" => "groups", "SourceFieldName" => "groups_id", "DestinationFieldName" => "groups_id", "DestinationTitleFieldName" => "groups_name", "Where" => "");
$obj->Rubrikators["groups"] = Array("TableName" => "groups", "TableTitle" => $lang["title_groups_id"], "IDField" => "groups_id", "TitleField" => "groups_name", "Where" => "");

$groups = $db->fetchall($db->query("select groups_id, groups_name from groups where groups_owner = 0 order by groups_order"));
foreach($groups as $group) {
        $obj->groups_id_values[] = $group["groups_id"];
        $obj->groups_id_titles[] = $group["groups_name"];
        $obj->Rubrikators["groups"]["values"][] = $group;
        $subgroups = $db->fetchall($db->query("select groups_id, CONCAT('>> ', groups_name) as groups_name from groups where groups_owner = ".$group["groups_id"]." order by groups_order"));
        foreach($subgroups as $subgroup) {
                $obj->groups_id_values[] = $subgroup["groups_id"];
                $obj->groups_id_titles[] = $subgroup["groups_name"];
                $obj->Rubrikators["groups"]["values"][] = $subgroup;
        }
}



и далее

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
foreach($obj->Rubrikators as $rubrikator) {
       $values = Array();
       if ($rubrikator["HideFirst"] != true) $values[] = Array("IDField" => 0, "TitleField" => $lang["button_all"]);
       $values = (is_array($rubrikator["values"])) ? array_merge($values, $rubrikator["values"]) : array_merge($values, $db->fetchall($db->query("select ".$rubrikator["IDField"].", ".$rubrikator["TitleField"]." from ".$rubrikator["TableName"]." ".((!empty($rubrikator["Where"])) ? "WHERE ".$rubrikator["Where"] : "" )." order by ".$rubrikator["TitleField"])));

       $temp = (!empty($_GET[$rubrikator["IDField"]])) ? $_GET[$rubrikator["IDField"]] : ((!empty($_POST[$rubrikator["IDField"]])) ? $_POST[$rubrikator["IDField"]] : 0);
       $exist = false;
       if (!empty($temp))
       foreach($values as $value) {
           if ($value[$rubrikator["IDField"]] == $temp) {
                $exist = true;
                break;
           }
       }
       $current[$rubrikator["TitleField"]] = ($exist) ? $temp : 0;
       $tpl->fid_select("content", $rubrikator["TableName"], $values, $current[$rubrikator["TitleField"]]);
       if (!empty($current[$rubrikator["TitleField"]])) {
                $obj->links .= $rubrikator["IDField"]."=".$current[$rubrikator["TitleField"]]."&";
                if ($rubrikator["NotFiltered"] != true) $where[] = $obj->Table["table_name"].".".$rubrikator["IDField"]." = '".$current[$rubrikator["TitleField"]]."'";
       }
}




на выходе получается массив $a
...
Рейтинг: 0 / 0
Вопрос про массив
    #38002461
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f0x,

сложно разобраться в том, что написано (видимо уровень не тот + происхождение и принцип работы не всех объектов понятен)... Как вариант, создать на обоих серверах тестовый файл с записью простого одномерного массива и глянуть куда указывает current. Если он будет указывать в одну точку - значит проблема явно в коде.

А тогда уже искать и разбираться где именно.
...
Рейтинг: 0 / 0
Вопрос про массив
    #38002759
f0x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
f0x
Гость
Програмёр,

Спасибо!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вопрос про массив
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]