Вопросы и ответы по PHP все вопросы по PHP
Другие ответы в этой теме
#1343
Отправлено 26 Ноябрь 2012 - 22:49
Подскажите пожалуйста с регулярками. Никак не даются они мне всегда.
Вот допусти таким кодом получаю страницу.
Что мне писать в $pattern, чтобы получить доступ к table с id="example"?
Вот допусти таким кодом получаю страницу.
$file = file_get_contents('http://www.example.ru/'); $pattern = ??? preg_match_all($pattern, $file, $matches); print_r($matches);
Что мне писать в $pattern, чтобы получить доступ к table с id="example"?
#1345
Отправлено 28 Ноябрь 2012 - 12:24
#1346
Отправлено 04 Декабрь 2012 - 14:40
Мелкая ерунда, но мозг почему-то не схватывает, как сделать)
Вот массив заполняю примерно так. Я не стал расписывать foreach
а потом я опять прогоняю другим foreach, добавляя еще элементы в массив
НО тут мне уже надо смотреть - если в массиве есть уже a и b с соответствующими значениями, то НЕ добавлять.
Можно конечно перед вторым "$myArray[$a][] = " сделать еще foreach, где проверять через if. Но это уже какой-то мусор а не код.
Можно как-то с помощью in_array в данном случае?
Вот массив заполняю примерно так. Я не стал расписывать 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 в данном случае?
#1348
Отправлено 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
#1349
Отправлено 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