Forums.Avtograd.Ru: Вопросы и ответы по PHP - Forums.Avtograd.Ru

Перейти к содержимому

  • (68 Страниц)
  • +
  • « Первая
  • 66
  • 67
  • 68
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Вопросы и ответы по PHP все вопросы по PHP

#1 Пользователь офлайн   Arion

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 25
  • Регистрация: 01 Ноябрь 07

Отправлено 01 Ноябрь 2007 - 09:28

Ваши вопросы связанные с разработкой на PHP задавайте здесь
0


  • (68 Страниц)
  • +
  • « Первая
  • 66
  • 67
  • 68
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Другие ответы в этой теме

#1341 Пользователь офлайн   owL

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 825
  • Регистрация: 31 Май 08

Отправлено 23 Июнь 2012 - 21:08

Просмотр сообщенияAlex_pac (23 Июнь 2012 - 14:59):


Спасибо.
JavaDoc дескрипторы где либо обрабатываются? Или это для простоты понимания, привычка?

Сообщение отредактировал GlowOwl: 23 Июнь 2012 - 21:29

0

#1342 Пользователь офлайн   Alex_pac

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 284
  • Регистрация: 02 Декабрь 07

Отправлено 24 Июнь 2012 - 23:30

Просмотр сообщенияGlowOwl (23 Июнь 2012 - 21:08):

Спасибо.
JavaDoc дескрипторы где либо обрабатываются? Или это для простоты понимания, привычка?


в NetBeans IDE например. Просто как стандарт.
mac user
3

#1343 Пользователь офлайн   schlager

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 090
  • Регистрация: 21 Июль 09

Отправлено 26 Ноябрь 2012 - 22:49

Подскажите пожалуйста с регулярками. Никак не даются они мне всегда.

Вот допусти таким кодом получаю страницу.

$file = file_get_contents('http://www.example.ru/');
$pattern = ???
preg_match_all($pattern, $file, $matches);

print_r($matches);


Что мне писать в $pattern, чтобы получить доступ к table с id="example"?
0

#1344 Пользователь офлайн   Alex_pac

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 284
  • Регистрация: 02 Декабрь 07

Отправлено 27 Ноябрь 2012 - 19:20

$file = file_get_contents('http://www.example.ru/');
$pattern = '/<table.+id="example".*>(.+)<\/table>/Usi';
preg_match_all($pattern, $file, $matches);

print_r($matches);

Сообщение отредактировал Alex_pac: 27 Ноябрь 2012 - 19:23

mac user
1

#1345 Пользователь офлайн   schlager

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 090
  • Регистрация: 21 Июль 09

Отправлено 28 Ноябрь 2012 - 12:24

Спасибо, но я уже решил проблему через domDocument.

Но все равно, больше спасибо.
0

#1346 Пользователь офлайн   schlager

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 090
  • Регистрация: 21 Июль 09

Отправлено 04 Декабрь 2012 - 14:40

Мелкая ерунда, но мозг почему-то не схватывает, как сделать)

Вот массив заполняю примерно так. Я не стал расписывать foreach

foreach ...{
$myArray[$a][] = array(
	'a' => $a,
	'b' => $b,
	'c' => $c
);
}

а потом я опять прогоняю другим foreach, добавляя еще элементы в массив

foreach ...{
$myArray[$a][] = array(
	'a' => $a,
	'b' => $b,
	'c' => $c
);
}

НО тут мне уже надо смотреть - если в массиве есть уже a и b с соответствующими значениями, то НЕ добавлять.
Можно конечно перед вторым "$myArray[$a][] = " сделать еще foreach, где проверять через if. Но это уже какой-то мусор а не код.

Можно как-то с помощью in_array в данном случае?
0

#1347 Пользователь офлайн   Alex_pac

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 284
  • Регистрация: 02 Декабрь 07

Отправлено 05 Декабрь 2012 - 20:22

чето както больно абстрактно описал. на примере задачи покажи

Сообщение отредактировал Alex_pac: 05 Декабрь 2012 - 20:23

mac user
0

#1348 Пользователь офлайн   schlager

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 090
  • Регистрация: 21 Июль 09

Отправлено 06 Декабрь 2012 - 00:50

Скрытый текст


Под спойлером два массива. Нужно Из второго добавлять в соответствующий раздел первого, если с такими a и b (причем и a и b!) там еще нет.
Может быть любое количество разделов в обоих массивах.

В итоге должно быть так.
Скрытый текст

Т.е. попали первый и третий, а у второго и a и b соответствуют тому, что уже есть в массиве.

P.S Я решил проблему, но мне не нравится способ - я перед добавлением прогоняю foreach нужный раздел изначального массива и проверяю if'ом если не нашел с такими a и b, то добавляю.
Вот
Скрытый текст


second first как и a b капуста - это все у меня на самом деле по другому. Это я для наглядности заменил)

Сообщение отредактировал schlager: 06 Декабрь 2012 - 01:07

0

#1349 Пользователь офлайн   Alex_pac

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 284
  • Регистрация: 02 Декабрь 07

Отправлено 07 Декабрь 2012 - 01:57

<?php

$a = array ( 'раздел1' => Array
        (
            '0' => Array
                (
                    'a' => 'Шоколад',
                    'b' => 'Вино',
                    'c' => 'Груша'
                ),
                                
            '1' => Array
                (
                    'a' => 'Я',
                    'b' => 'Ты',
                    'c' => 'Он'
                )       

        ),

    'раздел2' => Array
        (
            '0' => Array
                (
                    'a' => 'Апельсин',
                    'b' => 'Помидор',
                    'c' => 'Огурец'
                )
        )
	);
	
// 

$b = Array
(
    'раздел2' => Array
        (
            '0' => Array
                (
                    'a' => 'Капуста',
                    'b' => 'Помидор',
                    'c' => 'Игра'
                ),
                                
            '1' => Array
                (
                    'a' => 'Апельсин',
                    'b' => 'Помидор',
                    'c' => 'Ананас'
                ),
                                
            '2' => Array
                (
                    'a' => 'Игра',
                    'b' => 'Белиберда',
                    'c' => 'Википедия'
                )       
        ),
	'раздел 100500' => 'hello 100500'
);

// поехали

foreach ($b as $k=>&$bb) {
	if (isset($a[$k])) {
		// сканирование
		foreach($bb as &$bbb) {
			foreach ($a[$k] as &$aa) {
				if ($aa['a'] == $bbb['a'] && $aa['b'] == $bbb['b']) { continue 2; }
			}
			$a[$k][] = $bbb;
		}
	} else {
		$a[$k] = $bb;
	}
}

// вывод

echo '<pre>';

print_r($a);

print_r($B);
	


чето тоже самое получилось

Сообщение отредактировал Alex_pac: 07 Декабрь 2012 - 02:01

mac user
0

#1350 Пользователь офлайн   schlager

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 090
  • Регистрация: 21 Июль 09

Отправлено 08 Декабрь 2012 - 02:44

ну да, такой же перебор через foreach. все равно спасибо!
0

  • (68 Страниц)
  • +
  • « Первая
  • 66
  • 67
  • 68
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей