2014-10-03 28 views
1

這是用於OpenCart的PHP $_['entry_store'] = 'Stores:';中的一種變量

用於保存字符串的文本。

例如像這樣... 它是一個全局變量,或者是什麼呢?它始於$_['SomeName];

<?php 
$_['heading_feedback']= 'Feedback'; 
$_['heading_feedback_author']= 'Feedback'; 
$_['text_success'] = 'Success: You have modified feedback!'; 
$_['text_default'] = 'Default'; 
+0

我認爲他們應該做這樣說: 回報陣列(「heading_feedback」 =>「反饋」,...等); – twicejr 2014-10-03 12:05:00

回答

4

不,它不是全局變量。這是一個常規變量,名稱爲_,它是一個數組。

$_ = array(); 
$_['array_key'] = 'value'; 

變量可以在被命名爲幾乎任何方式,唯一的限制是解析器和_不是字符阻止其(例如${0}是一個有效的變量聲明)

變量名遵循與PHP中其他標籤相同的規則。有效的變量名稱以字母或下劃線開頭,後跟任意數量的字母,數字或下劃線。作爲正則表達式,它會這樣表示:'[a-zA-Z_ \ x7f- \ xff] *'

3

PHP沒有防止變量$_成爲數組。例如,

$_ = array('foo' => 'bar'); 
echo $_['foo']; // bar 

正常工作,一樣$_foo或任何其他非保留名稱。

1

讓我們回到基礎。來自the docs的片段。

一個有效的變量名以字母或下劃線開始,後面跟上任意數量的字母,數字,或下劃線

變量$_不是一個全局變量,它是一個普通的一個(帶差的命名約定)。

+0

對窮人的命名約定+1,但這是OpenCart中的不同故事:-) – shadyyx 2014-10-06 10:31:41