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

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Референции в PHP
  1. Референции в PHP
  2. Референции в PHP - II
  3. Референции в PHP - III
  4. Референции в PHP - IV
  5. Референции в PHP - V
thelordofweb
     
Автор  thelordofweb (23.11.2006 19:54)  съобщение до автора
Погледнат  9227 пъти  добави към любими
Оценка  добави коментар
Гласове  2  изпрати на приятел
Коментари  (0)  абонирай се за PHP
    Страница 1 / 5

 



Референции в PHP


Много спорове за референциите в PHP започват с „референциите са объркващи”. Всъщност , референциите са много елементарна концепция за схващане.
Референциите в PHP  са средство за достигане до съдържанието на променлива чрез различни имена. Тези имена ще са псевдоними на базовата променлива и ще сочат към нея. Освен това те могат да бъдат използвани за по-кратко записване на имена на променливи. Така те ще бъдат достъпни по-удобно и по-практично до съдържанието на техните базови променливи, ако имената на базовите променливи е дълго и сложно.
Тези разработчици , които са запознати с езици за програмиране, като C++ или Java ще забележат, че референциите в PHP не са аналогични с указателите.
Всички имена на променливи в PHP са автоматично свързани със стойности в паметта. Използвайки референции, ние може да свържем две имена на променлива към същата стойност в паметта.  Трябва да знаем , че име на променлива и съдържание на променлива са две различни неща.
 За да разберем как работят референциите трябва да знаем първо как PHP работи с променливите, които не са достъпни  като референции, а по стойност.

Взимане на стойност от друга променлива

Пример 1 :
CODE
1
2
3
4
5
6
7
8
<?php

$a = 1;
$b = $a;
$b++;
е
cho $a; // ще изведе 1
е
cho $b; // ще изведе 2
?>

Предаване на стойност като аргумент на функция

Пример 2 :
CODE
1
2
3
4
5
6
7
8
9
10
11
<?php
 function addFive
( $num ) {
  
$num += 5;
 
}

 
$original_num = 10;

 
addFive( $original_num);

 
print( $original_num); // Ще изведе 10
?>

Предаване на стойност като аргумент на метод от обект

Пример 3 :

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
 class DefensiveAttack 
{
       
  
/**
     * My IP address
     *
     * @access protected
     * @var string
     *
/
   
var  $mMyIpAddress   =   '127.0.0.1';
   
    /**
     *
Set my IP address
     *
     *
@access public
     *
@param string $ip
     */
   
function SetMyIpAddress($ip) {
       
       
$this->mMyIpAddress = $ip;
   
}
   
    /**
     *
Clear my ip
     *
     *
@access public
     */
   
function ClearMyIP() {
       
       
$this->mMyIpAddress = '';
   
}
 }
 
$my_ip  =   '212.116.142.*';

$object =   new DefensiveAttack();

$object->SetMyIpAddress($my_ip);

echo $object->mMyIpAddress;// Ще изведе 212.116.142.*

echo $my_ip;// Ще изведе 212.116.142.*

$object->ClearMyIP(); //Изтриваме съдържанието на $mMyIpAddress

echo $object->mMyIpAddress;// Няма да изведе нищо

echo $my_ip;// Ще изведе 212.116.142.*

?>

Сега започнем да разглеждаме предаването на стойности като референция.

Достъп до стойност на друга променлива като референция към нея.

Пример 1:

CODE
1
2
3
4
5
6
7
8
<?php

$a = 1;
$b = &$a;
$b++;
е
cho $a; // ще изведе 2. При увеличаването на стойността на $b променяме стойността на $a
е
cho $b; // ще изведе 2
?>

Пример 2:

CODE
1
2
3
4
5
6
7
8
9
<?php
$A=array('a' => 'aaa', 'b' => 'bbb');

$b=&$A['b']; // $b сочи към елемент “b” от масив $A

$b
=0;        // $A['b']=0;

echo $A['b']; // изкарва на екрана 0
?>

За да се създаде референция , не е нужно да съществува стойност към която да сочи.

CODE
1
2
3
4
5
6
7
8
9
<?php

$A=array('a' => 'aaa', 'b' => 'bbb');
$b=&$A['c']; // $b сочи към 'c' индекса на масива $A

// Сега масива
$A съдържа ‘c’ индекс, но той е празен.
echo " Съдържанието на 'c' индекса от масива $A : (".$A['c'].")";

?>



  Следваща страница >> 


Ключови думи: PHP референции PHP референция


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


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

 За автора: thelordofweb  
SEO за вашия форум - http://seofilter.com;
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

 

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



IT-PLACE.NET © 2004 - 2008