Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по поводу массива 
:(
    Опции темы
NetFlame
Дата 27.9.2007, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 8.3.2006
Где: Москва

Репутация: нет
Всего: нет



Нет, мы больше не придаем значений этой константе.

Добавлено @ 12:50
Может быть просто массив пустой, вот он и вставляет 0 символов...

Добавлено @ 12:56
А возможная причина такова:

у меня на странице

Код

....

<input type=text name="line-124-1" size=30 value="апрпрпр">
<input type=text name="line-145-5" size=30 value="парпарпар">
<input type=text name="line-170-41" size=30 value="парене">
<input type=text name="line-180-8" size=30 value="парпрпар">
<input type=text name="line-160-9" size=30 value="парпрпрпо">
<input type=text name="line-170-0" size=30 value="парпарпрпа">

.....


А я их вызываю $_POST['line'] as $line_number => $line

Где тут сопоставление name="line-124-1" и $_POST['line'] ?

В массиве адресация значений какая получается? 

 smile 

Это сообщение отредактировал(а) NetFlame - 27.9.2007, 12:57
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 27.9.2007, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Дык это другая ситуация - тут массива не получается. Я-то думал, что Вы уже изменили имена именно на начальной странице...

Разве что как-то так:
Код

foreach ($_POST as $name=>$value) {
     list ($new_name, $number) = explode('-', $name, 2);
     $$new_name[$number] = $value;
}
но это, имхо, тот еще изврат...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
NetFlame
Дата 27.9.2007, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 8.3.2006
Где: Москва

Репутация: нет
Всего: нет



Согласен. Попробую подумать, как сделать всё это с помощью mysql  smile 
PM MAIL WWW ICQ   Вверх
NetFlame
Дата 27.9.2007, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 8.3.2006
Где: Москва

Репутация: нет
Всего: нет



А как можно сделать так:

1. Получаем значения. Например, они

Код

<input type=text name="line-124-1" size=30 value="апрпрпр">
<input type=text name="line-145-5" size=30 value="парпарпар">
<input type=text name="line-170-4" size=30 value="парене">
<input type=text name="line-180-8" size=30 value="парпрпар">
<input type=text name="line-160-9" size=30 value="парпрпрпо">
<input type=text name="line-170-0" size=30 value="парпарпрпа">


2. Переписать их в

Код

<input type=text name="line[1241]" size=30 value="апрпрпр">
<input type=text name="line[1455]" size=30 value="парпарпар">
<input type=text name="line[1704]" size=30 value="парене">
<input type=text name="line[1808]" size=30 value="парпрпар">
<input type=text name="line[1609]" size=30 value="парпрпрпо">
<input type=text name="line[1700]" size=30 value="парпарпрпа">


то есть убрать между ними тире и загнать в массив.

3. Далее после нажатия кнопки Сохранить сделать их обратно такими

Код

<input type=text name="line-124-1" size=30 value="апрпрпр">
<input type=text name="line-145-5" size=30 value="парпарпар">
<input type=text name="line-170-4" size=30 value="парене">
<input type=text name="line-180-8" size=30 value="парпрпар">
<input type=text name="line-160-9" size=30 value="парпрпрпо">
<input type=text name="line-170-0" size=30 value="парпарпрпа">


одновременно записывая ее ( новый вариант (например, line-180-8) ) в файл?
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 27.9.2007, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



NetFlame, конечно можно, "но зачем такая страсть?" ©

Не проще ли использовать массив везде?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
CyClon
Дата 27.9.2007, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: 3
Всего: 4



Может.

Код
<?php

$array1['44-1-4'] = TRUE;
$array2[44][1][4] = TRUE;

?>


$array2 - возможное решение проблемы автора smile Мне кажется, ему нужны многомерные массивы, а не индексы в виде строк smile

Добавлено через 11 минут и 43 секунды
Цитата(NetFlame @ 27.9.2007,  18:36)
А как можно сделать так:

1. Получаем значения. Например, они

Код

<input type=text name="line-124-1" size=30 value="апрпрпр">
<input type=text name="line-145-5" size=30 value="парпарпар">
<input type=text name="line-170-4" size=30 value="парене">
<input type=text name="line-180-8" size=30 value="парпрпар">
<input type=text name="line-160-9" size=30 value="парпрпрпо">
<input type=text name="line-170-0" size=30 value="парпарпрпа">


2. Переписать их в

Код

<input type=text name="line[1241]" size=30 value="апрпрпр">
<input type=text name="line[1455]" size=30 value="парпарпар">
<input type=text name="line[1704]" size=30 value="парене">
<input type=text name="line[1808]" size=30 value="парпрпар">
<input type=text name="line[1609]" size=30 value="парпрпрпо">
<input type=text name="line[1700]" size=30 value="парпарпрпа">


то есть убрать между ними тире и загнать в массив.

3. Далее после нажатия кнопки Сохранить сделать их обратно такими

Код

<input type=text name="line-124-1" size=30 value="апрпрпр">
<input type=text name="line-145-5" size=30 value="парпарпар">
<input type=text name="line-170-4" size=30 value="парене">
<input type=text name="line-180-8" size=30 value="парпрпар">
<input type=text name="line-160-9" size=30 value="парпрпрпо">
<input type=text name="line-170-0" size=30 value="парпарпрпа">


одновременно записывая ее ( новый вариант (например, line-180-8) ) в файл?

Первый и второй пункт:

Код
<?php

// < DEBUG
$_POST['line-123-46-10'] = TRUE;
$_POST['line-554-01-43'] = TRUE;
$_POST['line-156-12-79'] = TRUE;
$_POST['line-785-48-75'] = TRUE;
$_POST['line-999-44-43'] = TRUE;
// > DEBUG

foreach ($_POST as $key => $value) {
    if (strpos($key, 'line') !== FALSE) {
        $key = str_replace('-', '', substr($key, 4));
        $line[$key] = $value;
    }
}

print_r($line);

?>



--------------------
user posted image
PM   Вверх
NetFlame
Дата 28.9.2007, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 8.3.2006
Где: Москва

Репутация: нет
Всего: нет



1. Имeна у меня могут быть только вида line-xxx-y, никаких line-123-46-10 быть не может, так как ориентирование в документе осуществляется по строкам (xxx) и количеству позиций (y) в строке. Строк может быть сколь угодно, а позиций - минимум 0, максимум 9.

2. CyClon, в Вашем коде,  строки $_POST['line-123-46-10'] = TRUE; ... не понятны, если так нужно делать для каждой переменной, то возможности у меня такой нет - так как каждый раз новое приходит не фиксированное количество инпутов, с разными именами...

Я думал, что сначала можно было загнать полученные значения в массив, а потом, ориентируясь на их номер в массиве, восстановить прежние имена.
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.