PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (594): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец

> Найдено сообщений: 8901
EuGen Отправлено: 26 Февраля, 2014 - 19:00:37 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

Ответов: 32
Просмотров: 390
papagot пишет:

Что не так? Растолкуйте где ошибся снова ((((

Ну так применять нужно не ко всему массиву, а к той его части, в которой содержатся элементы, которые нужно фильтровать. В данном случае к
PHP:
скопировать код в буфер обмена
  1. $data = $unread_messages_get['response'];
EuGen Отправлено: 26 Февраля, 2014 - 17:54:37 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

Ответов: 32
Просмотров: 390
MAXUS пишет:
Обратите внимание на ключи, выделенные жирным.

Да сколько же можно.
EuGen пишет:
применить array_values() к результату.


То, что элементы без ключей считаются одинаковыми - собственно, прямое следствие поставленной задачи. И по-другому их интерпретировать считаю некорректным.
EuGen Отправлено: 26 Февраля, 2014 - 16:31:31 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

Ответов: 32
Просмотров: 390
MAXUS пишет:
На оставшихся элементах ключи видоизменяются. Становятся равны uid.

EuGen пишет:
ничего не сказано, что ключи не должны быть не по порядк

EuGen пишет:
А если это так нужно - применить array_values() к результату.
EuGen Отправлено: 26 Февраля, 2014 - 16:03:44 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

Ответов: 32
Просмотров: 390
MAXUS пишет:
У вас массив видоизменяется. Ключи рушатся.

Они и должны. Ведь идёт удаление дублей. Кроме того, ничего не сказано, что ключи не должны быть не по порядку. А если это так нужно - применить array_values() к результату.
EuGen Отправлено: 26 Февраля, 2014 - 14:19:07 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

Ответов: 32
Просмотров: 390
papagot пишет:
Извиняюсь за сарказм и тупой вопрос а куда вписывать переменную с массивам что выводить и как?

$data - исходный массив. $result - итог без дубликатов.
EuGen Отправлено: 24 Февраля, 2014 - 19:13:25 • Тема: MySQL типы полей • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 34
А если ещё больше, то - DOUBLE (т.к. DECIMAL вместит максимум 65 знаков для целой части, а DOUBLE - значения до ~1.78E308 - вот только с количеством значащих цифр будет проблема). Но, если честно, мне сложно представить, для чего могут понадобиться значения до ~ 10308(для сравнения, число атомов в известной части Вселенной сравнимо с 1080)
EuGen Отправлено: 21 Февраля, 2014 - 16:42:13 • Тема: MIN, MAX + LEFT JOIN • Форум: SQL и Архитектура БД

Ответов: 5
Просмотров: 34
Bio man пишет:
По запросу видно что я хочу

Нет, не очевидно. Предположу, что
CODE (SQL):
скопировать код в буфер обмена
  1.     SELECT
  2.       `o`.*,
  3.       MIN(`a`.`price`) AS 'pmin',
  4.       MAX(`a`.`price`) AS 'pmax',
  5.       MIN(`a`.`area`) AS 'amin',
  6.       MAX(`a`.`area`) AS `amax`
  7.     FROM `objects` o
  8.       LEFT JOIN `apartments` a ON `a`.`object_id`=`o`.`id`
  9.     WHERE
  10.       `o`.`obj_type`=3
  11.     GROUP BY
  12.       `o`.`object_id`
  13.     LIMIT 2

Если нужна какая-либо сортировка, то запрос будет другим. Но лучше - дать пояснения, что требуется.
EuGen Отправлено: 21 Февраля, 2014 - 15:09:33 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

Ответов: 32
Просмотров: 390
PHP:
скопировать код в буфер обмена
  1. $result = array_reduce($data, function(&$current, $x)
  2. {
  3.    $current[$x['uid']]=$x;
  4.    return $current;
  5. }, array());

?
EuGen Отправлено: 21 Февраля, 2014 - 15:02:23 • Тема: Sql запрос на 2 таблицы с поиском определенного значения • Форум: Вопросы новичков

Ответов: 1
Просмотров: 119
Как пример,
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT
  2.   (SELECT COUNT(1) FROM user_t WHERE id=1)
  3.   +
  4.   (SELECT COUNT(1) FROM user_p WHERE id=1)
  5.   >0 AS user_exists

Альтернативой может быть UNION, но смысловой разницы не будет никакой
EuGen Отправлено: 21 Февраля, 2014 - 12:00:10 • Тема: получит меременную • Форум: Напишите за меня, пожалуйста

Ответов: 1
Просмотров: 29
Обратиться к статическому методу другого класса Вы можете через в общем случае, или через в контексте одного и того же класса.
EuGen Отправлено: 19 Февраля, 2014 - 20:02:24 • Тема: Регулярное выражение или цикл? • Форум: Регулярные выражения

Ответов: 6
Просмотров: 406
Snewer пишет:
Имеется строка "Раз два три !11".
Определить, какое число находится после ! знака

Зависимо. Если формат всегда верный и определён заранее, то можно обойтись:

PHP:
скопировать код в буфер обмена
  1. $string = "Раз два три !11";
  2. echo substr($string, 1+strrpos($string, '!'));

- это будет даже быстрее, чем поиск по соответствующему регулярному выражению.
EuGen Отправлено: 16 Февраля, 2014 - 13:24:33 • Тема: Удаление пустых параметров из GET • Форум: Вопросы новичков

Ответов: 6
Просмотров: 479
Ammiak пишет:
//мой URL: arrFilter_196_73887=Y&arrFilter_197_8145817=&set_filter=%CF%EE%EA%E0%E7%E0%F2%FC

Это не похоже на QUERY_STRING и не сгодится для перехода даже после удаления всех пустых параметров. На случай таких данных достаточно добавить ветку:
PHP:
скопировать код в буфер обмена
  1. $queryString = $_SERVER['QUERY_STRING']; //'arrFilter_196_73887=Y&arrFilter_197_8145817=&set_filter=%CF%EE%EA%E0%E7%E0%F2%FC';
  2. $queryUrl    = parse_url($queryString); //path, query
  3. if(isset($queryUrl['query']))
  4. {
  5.    parse_str($queryUrl['query'], $args);
  6.    $args        = array_filter($args);
  7.    $queryString = $queryUrl['path'].(count($args)
  8.                   ?'?'.http_build_query($args)
  9.                   :'');
  10. }
  11. else
  12. {
  13.    parse_str($queryUrl['path'], $args);
  14.    $args        = array_filter($args);
  15.    $queryString = http_build_query($args);
  16. }
  17. var_dump($queryString);   //arrFilter_196_73887=Y&set_filter=%CF%EE%EA%E0%E7%E0%F2%F

- но полученный способ хоть и будет решать задачу удаления пустых параметров, но перейти по такому адресу не получится. Нужно добавлять $_SERVER['HTTP_HOST'] к примеру, чтобы получить корректный URL.
EuGen Отправлено: 16 Февраля, 2014 - 12:28:31 • Тема: Удаление пустых параметров из GET • Форум: Вопросы новичков

Ответов: 6
Просмотров: 479
Ammiak пишет:
Немного переписал свой код

Зачем? Код выше вполне корректно фильтрует параметры, никакой модификации не требуется. Проверьте, что получается в итоге - и можно ли по такому URL перейти.
EuGen Отправлено: 16 Февраля, 2014 - 09:15:23 • Тема: Удаление пустых параметров из GET • Форум: Вопросы новичков

Ответов: 6
Просмотров: 479
Это потому, что QUERY_STRING не является тем, что можно использовать для parse_str в его первоначальном виде. Но в PHP есть специальные функции. Например,
PHP:
скопировать код в буфер обмена
  1. //'/post.php?foo=5&bar=&baz=2&bee=&fee=&feo=8'
  2. $queryString = $_SERVER['QUERY_STRING'];
  3. $queryUrl    = parse_url($queryString); //path, query
  4. parse_str($queryUrl['query'], $args);
  5. $args        = array_filter($args);
  6. $queryString = $queryUrl['path'].(count($args)
  7.                ?'?'.http_build_query($args)
  8.                :'');
  9. //"/post.php?foo=5&baz=2&feo=8"

Страниц (594): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB