Помощник
|
PHP регулярные выражения и массивы |
Winlook
|
Сообщение
#1
|
||
|
|
||
|
|||
Zippovich |
9.4.2010, 15:15;
Ответить: Zippovich
Сообщение
#2
|
|
Вообщем есть регулярка [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 |
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:
Файл настроек выглядит так: [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 Мне требуется обработать все данные(по id определить за какую группу он отвечает и если он checked, то занести информацию в настройки, путем перезаписи файла настроек). 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 Где возможно находится ошибка? |
|
|
ottaviano |
9.7.2010, 16:30;
Ответить: ottaviano
Сообщение
#4
|
|
[PHP]
$add_mission $reg_mission $delete_files $privat_files[/PHP] а эти переменные точно табличного (array) типа? |
|
|
Nitrex |
9.7.2010, 17:46;
Ответить: Nitrex
Сообщение
#5
|
|
[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 |
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 |
10.7.2010, 9:15;
Ответить: Nitrex
Сообщение
#7
|
|
|
Теперь ясно
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [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 |
Текстовая версия | Сейчас: 20.4.2024, 20:25 |