X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> PHP регулярные выражения и массивы
Winlook
Winlook
Topic Starter сообщение 9.4.2010, 14:34; Ответить: Winlook
Сообщение #1


Вообщем есть регулярка

[PHP]preg_match_all("/<TD CLASS=td_status>([^*]+)<\/TD>/U", $s, $massiv, PREG_PATTERN_ORDER);[/PHP]

Которая заносит в массив $massiv[1] данные в виде

$massiv[1][1]
$massiv[1][2]
$massiv[1][3]

Как принудительно указать, чтобы данные заносились, например, в $massiv[2]?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zippovich
Zippovich
сообщение 9.4.2010, 15:15; Ответить: Zippovich
Сообщение #2


(Winlook @ 9.4.2010, 17:34) *
Вообщем есть регулярка

[php]preg_match_all("/<TD CLASS=td_status>([^*]+)<\/TD>/U", $s, $massiv, PREG_PATTERN_ORDER);[/php]Которая заносит в массив $massiv[1] данные в виде

$massiv[1][1]
$massiv[1][2]
$massiv[1][3]

Как принудительно указать, чтобы данные заносились, например, в $massiv[2]?


[PHP]$massiv[2] = $massiv[1];
unset($massiv[1]);[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Nitrex
Nitrex
сообщение 9.7.2010, 14:10; Ответить: Nitrex
Сообщение #3


Не стал создавать новую тему.
Я новичек в регулярках. Код обработчика:
[php]
foreach ( $_POST as $key => $value) {
if (ereg("add_mission_([1-9]{9})",$key,$var)) {
$add_mission .= array($var["1"] => $value);
}
elseif (ereg("reg_mission_([1-9]{9})",$key,$var)) {
$reg_mission .= array($var["1"] => $value);
}
elseif (ereg("delete_files_([1-9]{9})",$key,$var)) {
$delete_files .= array($var["1"] => $value);
}
elseif (ereg("privat_files_([1-9]{9})",$key,$var)) {
$privat_files .= array($var["1"] => $value);
}
}
include( INF_DIR . "modules/txt_files/settings.php" );
foreach ($inf_group as $key => $value1) {
foreach($add_mission as $key1 => $value)
{if ($key == $key1) {$add_mission1 = $value;}
}
foreach($reg_mission as $key1 => $value)
{if ($key == $key1) {$reg_mission1 = $value;}
}
foreach($delete_files as $key1 => $value)
{if ($key == $key1) {$delete_files1 = $value;}
}
foreach($privat_files as $key1 => $value)
{if ($key == $key1) {$privat_files1 = $value;}
}
$text_settings .= <<<HTML
"{$key}" => array ("group_name" => "{$value1["group_name"]}",
"mission" => "{$add_mission1}",
"reg_mission" => "{$reg_mission1}",
"del_files" => "{$delete_files1}",
"privat" => "{$privat_files1}"
),
HTML;
}
Этим кодом я пытался сделать настройку модуля. Общий вид настройки:
[/php][IMG]http://s53.radikal.ru/i139/1007/b5/4582fbe90c54.jpg[/IMG]
Таблица группы выводит все группы из базы. Checkbox-ы имеют следующие name:

  • Добавление заданий - add_mission_{id-группы}
  • Редактирование заданий - reg_mission_{id-группы}
  • Удаление файлов - delete_files_{id-группы}
  • Просмотр приватных файлов - privat_files_{id-группы}

Файл настроек выглядит так:
[php]
$inf_group = array( "1" => array ("group_name" => "Администраторы",
"mission" => "",
"reg_mission" => "",
"del_files" => "",
"privat" => ""
),);
[/php]Он ругается на этот кусок кода:
[php]
foreach($add_mission as $key1 => $value)
{if ($key == $key1) {$add_mission1 = $value;}
}
foreach($reg_mission as $key1 => $value)
{if ($key == $key1) {$reg_mission1 = $value;}
}
foreach($delete_files as $key1 => $value)
{if ($key == $key1) {$delete_files1 = $value;}
}
foreach($privat_files as $key1 => $value)
{if ($key == $key1) {$privat_files1 = $value;}
}[/php]
Warning: Invalid argument supplied for foreach() in  S:\home\dle\www\engine\inc\information.php on line 30
Warning: Invalid argument supplied for foreach() in  S:\home\dle\www\engine\inc\information.php on line 33
Warning: Invalid argument supplied for foreach() in  S:\home\dle\www\engine\inc\information.php on line 36
Warning: Invalid argument supplied for foreach() in  S:\home\dle\www\engine\inc\information.php on line 39
Мне требуется обработать все данные(по id определить за какую группу он отвечает и если он checked, то занести информацию в настройки, путем перезаписи файла настроек).
Где возможно находится ошибка?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 9.7.2010, 16:30; Ответить: ottaviano
Сообщение #4


[PHP]
$add_mission
$reg_mission
$delete_files
$privat_files[/PHP]
а эти переменные точно табличного (array) типа?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Nitrex
Nitrex
сообщение 9.7.2010, 17:46; Ответить: Nitrex
Сообщение #5


(ottaviano @ 9.7.2010, 19:30) *
[php]
$add_mission
$reg_mission
$delete_files
$privat_files[/php]а эти переменные точно табличного (array) типа?

Я пытался до этого с помощью регулярки(в самом начале) в массив засунуть, вида:
id_group => "checked" OR ""(true OR false)

[PHP]
foreach ( $_POST as $key => $value) {
if (ereg("add_mission_([1-9]{9})",$key,$var)) {
$add_mission .= array($var["1"] => $value);
}
elseif (ereg("reg_mission_([1-9]{9})",$key,$var)) {
$reg_mission .= array($var["1"] => $value);
}
elseif (ereg("delete_files_([1-9]{9})",$key,$var)) {
$delete_files .= array($var["1"] => $value);
}
elseif (ereg("privat_files_([1-9]{9})",$key,$var)) {
$privat_files .= array($var["1"] => $value);
}
}
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 9.7.2010, 21:02; Ответить: Apay
Сообщение #6


Nitrex, надо ВНИМАТЕЛЬНО вникнуть в то что пишет ottaviano,и регулярки здесь нипричем. так ругаться не будет (в логику не вникал)
[PHP]$add_mission = $reg_mission = $delete_files =
$privat_files = array();
...
$add_mission[] = array( $var[1] => $value);
...
[/PHP]
надеюсь по кусочку понятно что и как надо делать
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Nitrex
Nitrex
сообщение 10.7.2010, 9:15; Ответить: Nitrex
Сообщение #7


Теперь ясно

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3405 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1242 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44911 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1889 26.5.2023, 20:48
автор: Mixatraider
Открытая тема (нет новых ответов) Опытный PHP\Python разработчик в поиске интересных задач
6 daikzlex 3402 25.5.2023, 13:55
автор: daikzlex


 



RSS Текстовая версия Сейчас: 20.4.2024, 20:25
Дизайн