Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Эх...массивы..
 
 автор: JIEXA   (17.06.2005 в 19:40)   письмо автору
 
 

Вот к примеру у меня такой массив:
<?
$mas 
= array(
array(
"закладка""дата установки"),
array(
"закладка 2""дата установки 2")
);
?>


Вот как мне с ним сделать следующие операции:
1. Упорядочить по дате
2. Удалить к примеру этот array("закладка", "дата установки")
3. Добавить к примеру этот array("закладка 6", "дата установки 6")
4. Если при добавлении их будет больше 100, то выводится сообщение что типа извините сэр, но у вас слишком много закладокю...
5. Как их всех превратить в строку (я забыл фунцию, вот usigned или как то так она называется)

   
 
 автор: cheops   (17.06.2005 в 21:48)   письмо автору
 
   для: JIEXA   (17.06.2005 в 19:40)
 

1. А что конкретно записывается вместо "дата установки"?
2.
<?php
  
unset ($mas[0]);
?>

3.
<?php
  $mas
[] = array("закладка 6""дата установки 6");
?>

4.
<?php
  
if(count($mas)>100) exit("извините сэр, но у вас слишком много закладокю...");
?>

5.
<?php
  
// Упаковываем
  
$text serialize($mas);
  
// Распаковываем
  
$mas unserialize($text);
?>

   
 
 автор: JIEXA   (17.06.2005 в 23:45)   письмо автору
 
   для: cheops   (17.06.2005 в 21:48)
 

> 1. А что конкретно записывается вместо "дата установки"?
дата вида:

чч.мм.гггг в чч.мм

   
 
 автор: cheops   (18.06.2005 в 02:14)   письмо автору
 
   для: JIEXA   (17.06.2005 в 23:45)
 

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

а лучше вообще в виде числа секунд, прошедших с полуночи 1 января 1970 года?

   
 
 автор: JIEXA   (18.06.2005 в 11:22)   письмо автору
 
   для: cheops   (18.06.2005 в 02:14)
 

> а лучше вообще в виде числа секунд, прошедших с полуночи 1 января 1970 года?
можно... а как тогда сортировать?

   
 
 автор: FlashG   (18.06.2005 в 11:27)   письмо автору
 
   для: JIEXA   (18.06.2005 в 11:22)
 

По целым числам. А потом, при выводе, функцией date() вытащить дату в нужном формате.

   
 
 автор: cheops   (18.06.2005 в 12:11)   письмо автору
 
   для: JIEXA   (18.06.2005 в 11:22)
 

Хм... хотел через функцию array_walk() - чего-то ничего хорошего не выходит :))) Вам лучше организовать массив чуть-чуть по другому
<?php
  $mas 
= array(1084305600 => "закладка"
               
1084307600 => "закладка 2",  
               
1084308600 => "закладка 3");
?>

Т.е. время в секундах, прошедших с 1 января 1970 года, использовать в качестве ключа массива, тогда можно будет осуществить сортировку при помощи функций ksort() и krsort().

   
 
 автор: JIEXA   (18.06.2005 в 12:26)   письмо автору
 
   для: cheops   (18.06.2005 в 12:11)
 

cспасибо!

   
 
 автор: JIEXA   (21.06.2005 в 19:11)   письмо автору
 
   для: JIEXA   (18.06.2005 в 12:26)
 

А ещё вопрос, как проверить на наличие записи?
Тоесть к примеру есть такой массив:

<?
  $mas 
= array(1084305600 => "3468"
               
1084307600 => "765",   
               
1084308600 => "356");
  
# номер_массива => "id новости"
?>

Вот к примеру я хочу добавить, новость с id 185 в закладки:

<?
$mas
[time()] = "185";
?>

Как проверить, нет ли уже id этой новости в закладках?

   
 
 автор: cheops   (21.06.2005 в 19:20)   письмо автору
 
   для: JIEXA   (21.06.2005 в 19:11)
 

Для этого можно воспользоваться функцией in_array()
<?php
  
if(id_array("185",$mas)) exit("Хм... а такой номер уже существует...");
?>

   
 
 автор: JIEXA   (21.06.2005 в 20:13)   письмо автору
 
   для: cheops   (21.06.2005 в 19:20)
 

Thanks!
зы: Меня прет кусок фразы "Хм..." :))))))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования