2014-07-21 52 views
-4

$data["xxxx"] AND $xxxx有什麼區別?

我在某些頁面看過$data["xxxx"],那麼我想知道$data["xxxx"]$xxxx(我通常使用)之間的區別是什麼?

+0

爲什麼如此常見,以阻止新的學習者,至少在PHP 5.4中可以看到OP – XIMRX

回答

1

這很簡單

$data["xxxx"]是數組的一個元素和$xxxx是正常變量。

可以使用

$data = array(); 
$data['xxxx'] = 'abc'; 
$data['yyyy'] = '222'; 

創建數組,然後輸出它的使用

echo $data['xxxx']; 
echo $data['yyyy']; 

元素你一定要看看Types in PHP

+0

的聲望,您可以編寫'$ data = [];' –

0

$xxxx是一個簡單的變量

$data["xxxx"]是一個數組元素,其中$data是陣列和xxxx的名稱是陣列

+0

是的,他們是.. –

0

$xxxx在密鑰是一個可變就像我們在,可以在其中存儲值的任何languate(字符串,整數等): 例如

$xxxx = 100; 
$xxxx = 'string'; 

$data['xxxx']聯想陣列。在一個簡單的數組你在那裏索引位置的基礎值,例如

$data[0] = "Jona"; 
$data[1] = "Hex"; 
echo $data[1]; //will out put 'Hex' 

關聯數組就像你在你的問題中提到,在位置值是由有名稱,如「XXXX」的認可。例如:

$data['xxxx'] = "This string is saved at xxxx in array $data"; 
$data['yyyy'] = "This string is saved at yyyy in array $data"; 
//you can use it like: 
echo $data['xxxx']; 

與「xxxx」類似,您可以給出數組元素的任何名稱;欲瞭解更多詳情,請參閱arrays in PHP

+0

PHP注意:數組到字符串轉換錯誤。 –

0

答案:這取決於。

如果有代碼將這兩個變量鏈接在一起,它們可能完全相同。

$data['xxxx'] = &$xxxx; 
$xxxx = &$data['xxxx']; 

現在,這兩者之間沒有區別,設置任一變量都是同樣的事情。

<?php 

$data = array(); 

$data['xxxx'] = &$xxxx; 
$xxxx = &$data['xxxx']; 

$xxxx = 2; 
$data['xxxx'] = 4; 

echo $xxxx; 
echo $data['xxxx']; 

Output:44

在這種情況下,存在$data['xxxx']$xxxx之間沒有差異

如果這兩個變量沒有關聯,那麼當然它們的區別就是地址不同。


最後,我可以然而說,這是$data["xxxx"]$data的元素,它是一個數組。

但是,我不能說關於$xxxx的任何事情,或者任何變量都可以使用的值的類型。

相關問題