Запис масиву в ini

# 91; cat1 # 93;
a1 = Вася
a2 = Петя
a3 = Маша

як зробити щоб параметри (a1, a2, a3.) Не замінялися новими, а дані з масиву просто дописувалися нижче в a5, a6, a7.

$ Text = c ( "edit1") -> text;
$ Arr = array ();
array_push ($ arr. "$ text");
ini. open ( "config.ini");
foreach ($ arr as $ _id => $ _val)<
ini. write ( 'cat1'. 'a'. $ _id. $ _val);

Дані вводяться в поле (edit1), і потім вони повинні дописуватися в файл .ini. Все працює, але тільки наведений вище код, після нового запису в (edit1), замінює записи в .ini на a0 з новим значенням. а потрібно щоб дописувалося нижче.
. Вибачте якщо вже дуже туплю).

Відповісти з цитуванням

Запис масиву в ini
Учасники форуму 161 Подякували 26 раз (а) в 20 повідомленнях

$ arr # 91; # 93; = C ( "edit1") -> text
// (зверху) Додати в масив рядок, я так зрозумів, там адже спочатку щось повинно міститься? До речі, заздалегідь оголошувати що він порожній масив здається необов'язково
// $ arr = explode ( ",", c ( "edit1") -> text);
// Це замість попереднього, якщо то що в Едіті і буде єдиним значенням масиву: р в принципі, тоді можна з коду нафіг частина символів прибрати, але масив так масив, раптом кілька значень

for ($ _pos = 0. $ _id = 0; $ _pos // Для кожного елемента масиву, без перепризначень
while (true) ini. read ( "cat1". "a $ _id". $ _test);
// Перевіряємо рядок з індексом "а $ _id"
if (strlen ($ _test) <1 or $_test == $arr [ $_pos ] ) else <$_id ++;>
// Якщо рядок не має зрозумілої змісту, або така вже є - записує, інакше дивиться такі $ _id в ini

>
$ _id ++;
>
// Кінець СГ

Цей код довше буде, зате:
а) Якщо таке в списку вже є - воно залишиться в єдиному екземплярі;
б) Записує елементи тільки на вільні місця (ну, за правду, замінює однакові =))
P.S. Пише любитель-дилетант, так що якщо у кого є покомпактнее пропозицію, не полінуйтеся написати, що не Seam одному це стане в нагоді.

Повідомлення від agpr-f

$ arr # 91; # 93; = C ( "edit1") -> text
// (зверху) Додати в масив рядок, я так зрозумів, там адже спочатку щось повинно міститься? До речі, заздалегідь оголошувати що він порожній масив здається необов'язково
// $ arr = explode ( ",", c ( "edit1") -> text);
// Це замість попереднього, якщо то що в Едіті і буде єдиним значенням масиву: р в принципі, тоді можна з коду нафіг частина символів прибрати, але масив так масив, раптом кілька значень

for ($ _pos = 0. $ _id = 0; $ _pos // Для кожного елемента масиву, без перепризначень
while (true) ini. read ( "cat1". "a $ _id". $ _test);
// Перевіряємо рядок з індексом "а $ _id"
if (strlen ($ _test) <1 or $_test == $arr [ $_pos ] ) else <$_id ++;>
// Якщо рядок не має зрозумілої змісту, або така вже є - записує, інакше дивиться такі $ _id в ini
>
$ _id ++;
>
// Кінець СГ

Цей код довше буде, зате:
а) Якщо таке в списку вже є - воно залишиться в єдиному екземплярі;
б) Записує елементи тільки на вільні місця (ну, за правду, замінює однакові =))
P.S. Пише любитель-дилетант, так що якщо у кого є покомпактнее пропозицію, не полінуйтеся написати, що не Seam одному це стане в нагоді.

Спасибі, розібрався.
Вийшов такий код:

Відповісти з цитуванням

Новачок Повідомлень 1 Подякували 0 раз (а) в 0 повідомленнях

допоможіть початківцю !!
є ini-файл:

# 91; blablablabla # 93;
key1 = aaaa - aaaa - aaaa - aaaa - aaaa
key2 = bbbb - bbbb - bbbb - bbbb - bbbb
key3 = cccc - cccc - cccc - cccc - cccc
# 91; ohoohooho # 93;
key1 = dddd - dddd - dddd - dddd - dddd
key2 = eeee - eeee - eeee - eeee - eeee

Необхідно, щоб при натисканні на назву зі списку, показувалися всі ключі
Привів код до такого виду:

$ arr # 91; # 93; =. // не зрозумію звідки брати масив і за рештою код не впевнений))
ini. open ( "game.ini");
$ GameCur = c ( "listBox1") -> items -> selected;
for ($ _pos = 0. $ _id = 0; $ _pos if (strlen ($ showKey) <1 or $_test == $arr [ $_pos ] ) text = $ showKey; break;> else <$_id ++;>
>
$ _id ++;
>

але на жаль не оре ((
Ось вихідні. допоможіть хто чим може

Схожі статті