PHP.SU

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

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

> Найдено сообщений: 329
MAXUS Отправлено: 29 Мая, 2014 - 05:04:03 • Тема: Ростелеком заблокировал kohanaframework.org • Форум: Прочее

Ответов: 15
Просмотров: 123
В данный момент сайт работает...
(Добавление)
Если в законе нет ответственности за безосновательную блокировку, то неплохо было бы предусмотреть компенсации владельцам добросовестных сайтов за подобные ошибки.
MAXUS Отправлено: 27 Мая, 2014 - 22:49:11 • Тема: VDS • Форум: Прочее

Ответов: 5
Просмотров: 62
LIME пишет:
ssh
еще одна горошина в железобетонную стену


Чето слова из песни вспомнились:

Видишь, там на горе возвышается крест...
Повиси-ка на нем, а потом приходи
Гулять по воде...

Закатив глазки
MAXUS Отправлено: 27 Мая, 2014 - 22:34:40 • Тема: Юмор • Форум: Юмор

Ответов: 187
Просмотров: 12514
OrmaJever пишет:
https://www[dot]youtube[dot]com/watch?v=[dot][dot][dot]PAzHuB2-y8#t=126
Все должны увидеть это видео. Я думаю каждый из вас был на месте китайца Улыбка


Плакаль... Радость Любые совпадения случайны Ха-ха

А где плагиат видно невооруженным глазом...
MAXUS Отправлено: 24 Марта, 2014 - 07:15:49 • Тема: Интернет-магазин • Форум: Напишите за меня, пожалуйста

Ответов: 66
Просмотров: 622
SlFomin пишет:
Просто я не умею работать с бд, я пытался на разных хостингах установить соединение с бд, но ни разу не получилось нормально и я начал изобретать велосипед и хранить данные в файлах


Сия ветка - яркий образчик милосердия и человеколюбия обитателей форума Не понял Или тут за каждый пост к карме +1000 раздают... Радость

Ибо как иначе объяснить попытку способствовать изобретению велосипеда тому, кто за основу берет квадратные колеса?
MAXUS Отправлено: 10 Марта, 2014 - 13:56:22 • Тема: Перезаписывать переменные • Форум: Вопросы новичков

Ответов: 4
Просмотров: 182
Snewer пишет:
Какой код оптимальнее:


PHP:
скопировать код в буфер обмена
  1.  
  2. $a = 5;
  3. $b = 6;
  4.  
  5. //Если результат сложения хранить не требуется, то просто выводим
  6. echo $a + $b;
  7.  
  8. //Если результат сложения нужно хранить в одной из складываемых переменных
  9. $a += $b;
  10. echo $a;
  11.  
  12. //Если результат сложения нужно хранить в отдельной переменной
  13. = $a+$b;
  14. echo $c;
  15.  
MAXUS Отправлено: 06 Марта, 2014 - 14:48:08 • Тема: Выровнять плитки • Форум: HTML, Дизайн & CSS

Ответов: 8
Просмотров: 1663
dimaua2 пишет:
Такого эффекта я добавивался чучуть по другому....


Да там в примере вертикальными колонками явно сделано. В первоначальном...
MAXUS Отправлено: 06 Марта, 2014 - 10:57:02 • Тема: Что означает следующая конструкция... • Форум: Вопросы новичков

Ответов: 14
Просмотров: 569
DelphinPRO пишет:
MAXUS фишка прикольная и удобная, но не надо фанатизма Улыбка


Да это не фанатизмУлыбка Это демонстрация возможностей для углубленного пониманияУлыбка В том числе и себе самому.
MAXUS Отправлено: 06 Марта, 2014 - 04:46:36 • Тема: Что означает следующая конструкция... • Форум: Вопросы новичков

Ответов: 14
Просмотров: 569
Ухты... Прикольно...

Единственное, обе половины or должны что-то возвращать. А так, интересно можно использовать... И не только с or... Например:

PHP:
скопировать код в буфер обмена
  1.  
  2. function warning(){
  3.         echo "Установлены не все необходимые переменные";
  4. }
  5. $test=$test1=true;
  6. //$test2=true; //При закоментированном получим предупреждение, что не все переменные установлены. Если раскоментировать, то предупреждения не будет...
  7. $test and $test1 and $test2 or warning();
  8.  


А вот следующее не сработает:

PHP:
скопировать код в буфер обмена
  1.  
  2. $test or echo "Переменная test не заполнена";
  3.  


Потому что echo это не функция...

Кмк, подход имеет все права на использование. И я дак, например, признателен автору поста за такой экспириенс.

Что удивительно, ведь фишка на поверхности лежалаУлыбка

Добавление
А еще прикольнее...

PHP:
скопировать код в буфер обмена
  1.  
  2. do_step1() and do_step2() and do_step3() or exit("А не все шаги выполнены как следует:)");
  3.  


или например

PHP:
скопировать код в буфер обмена
  1.  
  2. function run($file){
  3.         include $file;
  4.         return true;
  5. }
  6. (file_exists("file1.php") and $file="file1.php" or file_exists("file2.php") and $file="file2.php") and run($file) or  exit ("Что-то пошло не так!");
  7.  
MAXUS Отправлено: 27 Февраля, 2014 - 16:13:56 • Тема: Сложность с перебором массива • Форум: Вопросы новичков

Ответов: 1
Просмотров: 131
xyzdsnxyz пишет:
Доброго времени суток форумчане, изучая массивы я столкнулся с одной проблемой которая недает мне никак покоя...
вот есть массив вида
Как его можно привести к следующему виду?!


Прям, заинтересовался... В итоге, для вашего случая (массив может сдержать любое количество элементов как на первом, так и на втором уровнях):
PHP:
скопировать код в буфер обмена
  1.  
  2. function get_combinations_xyzdsnxyz($data){
  3.         $comb=1;
  4.         foreach($data as $param) $k=$comb*=count($param['data']);
  5.        
  6.         foreach($data as $param){
  7.                 $c_param++;
  8.                 $jump=$k;
  9.                 $k=$k/count($param['data']);
  10.                 $jump-=$k;
  11.                 $c_prop=0;
  12.                 foreach($param['data'] as $prop){
  13.                         $i=1+$c_prop*$k;
  14.                         $c_prop++;
  15.                         while($i<=$comb){
  16.                                 $output[$i][$param['paramID']]=$prop['propTitle'];
  17.                                 if($i%$k) $i++;
  18.                                 else $i+=$jump+1;
  19.                         }
  20.                 }
  21.         }
  22.         return $output;
  23. }
  24.  
  25. echo "<pre>";
  26. print_r(get_combinations_xyzdsnxyz($data));
  27. echo "</pre>";
  28.  



Для более общего случая.
PHP:
скопировать код в буфер обмена
  1.  
  2. //Простой многомерный массив. Общий случай...
  3. $data=array(
  4.         array("Железо", "Дерево", "Пластик"),
  5.         array("Большой", "Средний", "Маленький", "Никакой"),
  6.         array("Синий", "Красный", "Желтый")
  7. );
  8.  
  9. //Функция, которая возвращает массив с комбинациями.
  10. function get_combinations($data){
  11.         $comb=1;
  12.         foreach($data as $param) $k=$comb*=count($param);
  13.        
  14.         foreach($data as $param){
  15.                 $c_param++;
  16.                 $jump=$k;
  17.                 $k=$k/count($param);
  18.                 $jump-=$k;
  19.                 $c_prop=0;
  20.                 foreach($param as $prop){
  21.                         $i=1+$c_prop*$k;
  22.                         $c_prop++;
  23.                         while($i<=$comb){
  24.                                 $output[$i][$c_param]=$prop;
  25.                                 if($i%$k) $i++;
  26.                                 else $i+=$jump+1;
  27.                         }
  28.                 }
  29.         }
  30.         return $output;
  31. }
  32.  
  33. //Запускаем и смотрим, что получится
  34. echo "<pre>";
  35. print_r(get_combinations($data));
  36. echo "</pre>";
  37.  


Подозреваю, что может оказаться не самым рациональным решением. Например, допускаю, что для этого можно использовать какие-то из стандартных функций по обработке массивов, но сходу что-то ничего в голову не пришло. Если кто предложит вариант проще, то буду признателен.
MAXUS Отправлено: 26 Февраля, 2014 - 21:49:29 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

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

Так вот вопрос как сделать так что если найден элемент то пропускал бы а не писал пустое значение в файл.


PHP:
скопировать код в буфер обмена
  1.  
  2. foreach($unread_messages_get['response'] as $key=>$message){
  3. if(!$message['uid']) continue;
  4. //А дальше все то же самое... Я там особо не вникал.
  5.  
MAXUS Отправлено: 26 Февраля, 2014 - 20:32:32 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

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

А вы знаете ваш вариант меня полностью устраивает. Покрайне мере на данной стадии. Огромное спасибо вам.


Да пожалуйстаУлыбка Там слева кнопкаУлыбка
Уже нажал )))


Уххх. Карма растет! Ха-ха
MAXUS Отправлено: 26 Февраля, 2014 - 20:26:27 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

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

А вы знаете ваш вариант меня полностью устраивает. Покрайне мере на данной стадии. Огромное спасибо вам.


Да пожалуйстаУлыбка Там слева кнопкаУлыбка
MAXUS Отправлено: 26 Февраля, 2014 - 20:15:37 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

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

Ок и какая переменная за вывод отвечает?


А доставать так:

PHP:
скопировать код в буфер обмена
  1.  
  2. foreach($unread_messages_get['response'] as $key=>$message){
  3. // Где $message - это каждый элемент с мессаджем, а "доставать" так: $message['uid'], $message['date'] и т.п.
  4. // А $key - ключ элемента массива с мессаджем
  5. }
  6.  



Вот это запусти и все поймешь...
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach($unread_messages_get['response'] as $key=>$message){
  3. echo $key."<br />";
  4. echo "<pre>";
  5. print_r($message);
  6. echo "</pre>";
  7. }
  8.  
MAXUS Отправлено: 26 Февраля, 2014 - 19:59:23 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

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

Я проста пока не уловил а как тогда потом скажем доставать оставшиеся uid на автомате может я конечно чего то не догоняю... Но я предстоял удалить дубли а потом по циклу

Сейчас же я пока не догоняю как мне их достать....


Щас. Секунду...

Вот так...

Если надо удалить дубли и оставить первый встретившийся, то:

PHP:
скопировать код в буфер обмена
  1.  
  2. $data=&$unread_messages_get['response'];
  3. foreach($data as $key=>$value){
  4.         if(!$value['uid']) continue;
  5.         if(!$check[$value['uid']]) $check[$value['uid']]=true;
  6.         else unset($data[$key]);
  7. }
  8.  


Если надо удалить дубли и оставить последний встретившийся, то:

PHP:
скопировать код в буфер обмена
  1.  
  2. $data=&$unread_messages_get['response'];
  3. foreach($data as $key=>$value){
  4.         if(!$value['uid']) continue;
  5.         if($check[$value['uid']]) unset($data[$check[$value['uid']]]);
  6.         $check[$value['uid']]=$key;
  7. }
  8.  
MAXUS Отправлено: 26 Февраля, 2014 - 19:40:42 • Тема: Удаление дублей из многомерных масивов. • Форум: Напишите за меня, пожалуйста

Ответов: 32
Просмотров: 429
EuGen пишет:

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


То, что элементы без ключей считаются одинаковыми - собственно, прямое следствие поставленной задачи. И по-другому их интерпретировать считаю некорректным.


Задача звучала так: "мне нужно что бы удались все элементы из массива с одинаковым значением uid и остался только последний элемент."

Заменить исходный массив и удалить из него элементы - это не одно и то же. Если при этом существуют указатели (&) на элементы исходного массива или в нем самом присутствуют указатели, то связи похерятся. Также, если на ключи массива где-то ссылались хардкодом, то эти ссылки тоже работать перестанут, потому что ключи в вашем случае переименуются. Если все это для задачи не критично, то ничего в этом страшного нет. Я просто хотел подчеркнуть эти нюансы.

А вот удалить элементы с одинаковыми uid и удалить элементы без uid - это, кмк, разные задачи. Тем более, когда видно, что массив не однородный.




(Добавление)
papagot пишет:
EuGen пишет:
papagot пишет:

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

Ну так применять нужно не ко всему массиву, а к той его части, в которой содержатся элементы, которые нужно фильтровать. В данном случае к
PHP:
скопировать код в буфер обмена
  1. $data = $unread_messages_get['response'];


Огромное спасибо. Карму увеличил.
Только вот пару вопрос если можно то можно нет так нет
на выходе массив

Array
(
[БЫЛО НЕ ПУСТО] => 12
[ОСТАВИТЬ ПРЕЖНИЕ ИД] => Array
(
[mid] => 15780
[date] => 1393353992
[out] => 0
[uid] => 50714197
[read_state] => 0
[title] => ...
[body] => я тоже
)

[16877930] => Array
(
[mid] => 15489
[date] => 1393250976
[out] => 0
[uid] => 16877930
[read_state] => 0
[title] => ...
[body] => пошли в бутылку?)))
)

[85290242] => Array
(
[mid] => 15438
[date] => 1393200589
[out] => 0
[uid] => 85290242
[read_state] => 0
[title] => ...
[body] => бобюь
)

)


Мы тут яростно дискутируем на эту тему... Чем вас мой вариант не устроил? Все ваши "а можно" в нем учтены.

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB