|
|
|
| Доброго времени суток.
Есть массив с датами:
01.03
12.05
02.01.1923
09.12
23.02 и так далее
задача следущая - найти ключи из массива начиная с сегодняшнего дня
$den=date(d);
$mes=$date(m);
по какой то день заданный в переменой $kol ( в ней просто число - сколько дней показать например 14 ) и при этом надо учесть что в эти 14 дней может попасть и следущий месяц и даже следущий год если напрмиер сегодня 20 декабря.
при этом нельзя разбить explode, так как уже и так этот массив получен из другого.
в голове вертиться использовать цикл с array_keys ,только не могу врубиться как это все организовать... уж простите дурака... | |
|
|
|
|
|
|
|
для: kazakru
(25.07.2006 в 00:18)
| | Почему нельзя разбить explode ?
юзать foreach | |
|
|
|
|
|
|
|
для: RV
(25.07.2006 в 00:28)
| | ну пототму что уже разбито из другого массива
09.12.|праздник итакой то|M
я просто запутаюсь в массивах и ключи потеряю
вот тут я накатал
$kol=14;
for ($m=0; $m < $kol; $m++)
{
$dni=date('d', mktime(0,0,0, date(m), date(d)+$m, date(y)));
$mes=date('m', mktime(0,0,0, date(m), date(d)+$m, date(y)));
)
вот и получим 2 переменные с датами и месяцом на 14 суток вперед
фу, с этой частью справился, теперь надо найти эти даты в массиве
типа $kluch=array_keys(substr($massiv,0,2), $dni);
но при этом надо чт обы и месяц был в деле и на выходе получить ключи где будут совпадения ии дня и месяца.
брр уже сам пока писал запутался | |
|
|
|
|
|
|
|
для: kazakru
(25.07.2006 в 00:53)
| | во блин только что осенило
$kol=14;
for ($m=0; $m < $kol; $m++)
{
$dni=date('d.m', mktime(0,0,0, date(m), date(d)+$m, date(y)));
$kluch=array_keys(substr($massiv,0,5), $dni);
)
будет так работать? | |
|
|
|
|
|
|
|
для: kazakru
(25.07.2006 в 00:57)
| | блин все не так, блин, что то я не врублюсь | |
|
|
|
|
|
|
|
для: kazakru
(25.07.2006 в 01:11)
| | хелп!!!
ну как найти ключи в массиве
$kol=14;
for ($m=0; $m < $kol; $m++)
{
$dni=date('d.m', mktime(0,0,0, date(m), date(d)+$m, date(y)));
)
вот есть список дат на следущие 14 суток мне надо посмотреть естьли совпадения дат в масисиве и если есть то дать мне список ключей
вот если так сделать
$kol=14;
for ($m=0; $m < $kol; $m++)
{
$dni=date('d.m', mktime(0,0,0, date(m), date(d)+$m, date(y)));
$kluch[]=array_keys($massiv, $dni);
)
то я получу массив $kluch но в нем будут и нормальные значения и пустые
вот так
Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) [3] => Array ( [0] => 89 ) [4] => Array ( ) [5] => Array ( [0] => 90 ) [6] => Array ( ) [7] => Array ( ) [8] => Array ( ) [9] => Array ( ) [10] => Array ( ) [11] => Array ( ) [12] => Array ( [0] => 92 [1] => 93 ) [13] => Array ( ) )
да еще там один пропущенный ключ так как там дата с годом т.е. 02.04.1999
---------------------
ладно пропущенный массив пропустим решил проблему
теперь в массиве тольок дата такого формата 04.03
как получить нормальный массив ключей без пустых значений
а еще точнее мне надо первый ключ и последний | |
|
|
|
|
|
|
|
для: kazakru
(25.07.2006 в 00:18)
| | Хм... зря вы с датой в форматированном состоянии работаете - обычно такие операции производят над датами в UNIXSTAMP-формате, т.е. в виде числа секунд прошедших с полуночи 1 января 1970 года. | |
|
|
|
|
|
|
|
для: cheops
(25.07.2006 в 11:00)
| | ну в данном случае без разницы в каком виде в массиве будут даты представлены
что в 03.04
что в 23184745758
смысл останеться тот же надо найти ключи в массиве значения которого совпадают с теми данными что нужны
и к томуц же у меня даты есть и 1800 года и поэтому изначально я начал работать с реальными датами, да бы всякие вычисления проводить быстрее и без минусовых значений которые будут в случае если дата меньше 70 года, да еще не известно как себя поведет скрипт после 2038 года, а так я спокоен.
только вот проблема с массивами, нуне могу я еще снимми толком работать | |
|
|
|
|
|
|
|
для: kazakru
(25.07.2006 в 11:20)
| | все, всем спасибо, разобрался сам
пришлось в этот цикл включить еще foreach | |
|
|
|
|
|
|
|
для: kazakru
(25.07.2006 в 12:16)
| | обьясните плиз
если у меня есть перменная с числовыми значениями
и я пишу условие
if ( $qwe =="")
или
if (!$qwe)
то при наличии в этой переменно нуля (0) условие всеравно выполняется -почему?
ладно и с этим разобрался
еще вопрос :)
суть в том что мне надо выводить только определенные даты помеченные буквами
B
M
E
H
что соответсвует
дни рождения
траур
события
праздники
то что надо вывести задается в отдельном файле
если бы мне можно было только один параметр выводить
то это выглядело бы так
if ($qwe==$parametr)
но мне надо что бы было возможным задать несколько параметров причем любой комбинации
то есть например переменная $parametr могла содержать в себе и М и Н ( $parametr='MH' )
вот как мне быть в этой ситуации? | |
|
|
|
|
|
|
|
для: kazakru
(25.07.2006 в 13:09)
| | up
за ранее извиняюсь за настойчивасть и надоедливость | |
|
|
|
|
|
|
|
для: kazakru
(25.07.2006 в 13:09)
| | Хм... просто объединяйте их в условие
<?php
if ($qwe==$parametr && $qwe==$parametr1 && $qwe==$parametr2)
?>
|
PS Под новые вопросы лучше заводить новые темы | |
|
|
|
|
|
|
|
для: cheops
(25.07.2006 в 15:26)
| | насчет новой темы согласен - не углядел - уж простите
а как тогда может выглядеть все это вместе.
я все равно не пойму а как в конфиге задать что отображать?
тоесть что бы человек понял когда будет конфигурировать
типа
и при этом выполнилось бы условии при нахождени всех этих букв | |
|
|
|
|
|
|
|
для: kazakru
(25.07.2006 в 15:35)
| | закройте тему плиз, во всем разобрался. | |
|
|
|