Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Всичко за масиви
  1. Всичко за масиви
     
Автор  dweray (01.02.2006 16:52)  съобщение до автора
Погледнат  5670 пъти  добави към любими
Оценка  добави коментар
Гласове  10  изпрати на приятел
Коментари  (1)  абонирай се за PHP
    Страница 1 / 1

 



Масивите в PHP са много по гъвкави отколкото в другите езици.
Масив се нарича пореден набор от променливи, в който всяка променлива се нарича елемент.Елементите на масива могат да бъдат изведени както с текстов низ така и с цифров индекс.
В php масивът може да съдържа цели числа,булеви изрази,низове,числа с плаваща запетая,смесени стойности,обекти,други масиви.

Създаване на масиви

Пример:

CODE
1
2
3
4
5
$num = array(5, 4, 3, 2, 1);
$other = array("this", "is", "test");

echo $num[2];
echo $other[0];

Този пример извежда третия елемент от първия масив и първия елемент от втория масив.

По подразбиране индексът на първия елемент в масива е 0.Следователно за да изкарате първия елемент от един масив трябва да напишете echo $num[0].Стойностите които се съдържат в масива, могат да бъдат извлечени и променени като използвате квадратни скоби [].

 CODE
1
2
3
4
5
$newarray[0]  = "this";
$newarray[1]  = "is";
$newarray[2]  = "test";

$newarray[2]  = "other";
Тука заменяме заменяме третия елемент [2] с друга стойност.

Числено индексираните масиви могат да започват от която и да е стойност.По удобно е да се почва от индекс 1 както е тук:

 CODE
1
$num = array(1=>"one", "two", "three", "four");

Масивите могат да бъдат и така:
 CODE
1
$num = array(1=>"one",3=>"three",7=>"seven");

Празен масив може да се създаде като присвоите array() без параметри на някоя променлива.Стойностите могат да се добават с квадратни скоби.

Хетерогенни масиви

Това ще рече че стойностите в един PHP масив не е нужно да са от един и същ тип.

 CODE
1
2
$test = array("one", 23, 1.5, true);
var_dump($test);

функцията var_dump() извежда съдържанието на масива.

Асоциативни масиви

Тези масиви ползват низови индекси:
 CODE
1
$test = array("first"=>1,"second"=>2,"third"=>3);

Може и така :
 CODE
1
2
3
$test["first"] = 1;
$test["second"] = 2;
$test["third"] = 3;

Асоциативното индексиране е удобно за ползване с база данни.

Многомерни масиви

Това са масиви които могат да съдържат други масиви...
 CODE
1
2
3
4
5
6
$test = array (
 "седмица1"=>  array("понеделник", 3, 4),
 "седмица2"=>  array("вторник", 6, 2),
 "седмица3"=>  array("сряда", 5, 3)
               );
print $test[седмица2] [вторник]

Как да ползваме цикъла foreach с масиви

Както обясних в миналия урок най лесния начин да изкараме един масив е да използваме цикъла foreach.
Този масив има две форми:
 CODE
1
2
foreach(array_exprassion as $value) statement
foreach
(array_exprassion as $key => $value) statement
Първата форма присвоява стойността на елемента към променлива,а втората присвоява и ключа и стойността.

Указатели на масивите

PHP поддържа и вътрешен индекс който сочи към текущия елемент на масива.
Пример:
CODE
1
2
$a = ("a","b","c","d","e","f","g");
echo current($a );
Toва ще изведе "а"

Винаги когато се създаде нов масив  вътешния индекс сои първия елемент.Функцията Current() връща посочената стойност.
Функциите end(), next(), prev(), reset(), key() също използват вътрешния указател.
Функзията List() присвоява много променливи от един масивен индекс.
Пример:
 CODE
1
List($var1, $var2, ......) = array_expression

Как да преброим елементите на масива:

Функцията Count() показва броя на елементите в масива.
Пример:
 CODE
1
2
$days = array("понеделник","вторник","сряда","четвъртък","петък");
echo count($days);

резултатът от този пример ще бъде "5" ,защото броят на елементите е толкова...

Как да открием коя е максималната и коя е минималната стойност в масива

Откриват се с max() и min()
Пример:
 CODE
1
2
3
$var = array(10, 5, 2, 45, -23);
echo max($var);
echo min($var);

Този код първо ще изкара най голямото число (45) а след него и най малкото (-23).

Как да да търсим стойности в масива

С помоща на функциите in_array() и array_search()
Пример:
 CODE
1
2
3
$test = array(1, 2 ,3 ,4 ,5);
if (in_array("5",$test))
echo "3 е число от масива";

този код претърсва масива за числото 5.
А пък този код използва другата функция и изкарва 2:
 CODE
1
2
$test = array(1, 2, 3, 4, 5);
echo array_search("2", $test);

Как да пренаредим елементите на масива

Функцията array_reverse() създава нов масив като обръща реда на масивите в елемента.
Пример:
CODE
1
2
$count = array("едно","две","три","четири","пет");
$test = array_reverse($count);
Ако зададете true за опция редът ще се обърне.
Пример:
 CODE
1
2
3
$count = array("едно","две","три","четири","пет");
$test = array_reverse($count, true);
print_r($test);

този пример ще изведе : пет четири три две едно

Как да сортираме масиви

Функциите за сортиране пренареждат елементите на самия начален масив.
Сортирането става с sort() и rsort()

пример за работата на sort() :
 CODE
1
2
3
4
$num = array(12, 4, 45, 32, 56, 223);
sort($num);
foreach($num as $n)
echo $n . " ";

Резултатът от сортирането е следният : 4 12 45 56 223

ето и как работи функцията rsort() със същия пример:
 CODE
1
2
3
4
$num = array(12, 4, 45, 32, 56, 223);
rsort($num);
foreach($num as $n)
echo $n . " ";

Резултатът е : 223 56 45 12 4

Сами стигате до извода че rsort() обръща реда на подреждане.
По подразбиране PHP сортира по азбучен ред,а числата по големина но това може да се промени с парамертъра sort_flag .
Пример:
 CODE
1
2
3
$num = array(12, 4, 45, 32, 56, 223);
sort($num, SORT_STRING);
print_r($num);

Резултатът: 12 32 4 45 56 223

Ако искате числено сортиране ползвайте SORT_NUMERIC



   


Ключови думи: паскал PHP


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 За автора: dweray  
Всички мои статии можете да прочетете също на http://pcaddict.info
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

и тъй като съм на всяка манжда меродия, препоръчвам да използвате функциите за сортиране на масиви много внимателно, тъй като са доста бавнички... ако искате да сортирате нещо, опитайте всякакви други начини преди да стигнете до този, разбира се не винаги има други начини ;)

  dimomit на 27.04.2006 00:31

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008