2010-07-27 76 views
2

我不是100%,但這個($設置)將被稱爲PHP中的數組:PHP數組(和remvoing某些元素)

$setting; 

$setting['host'] = "localhost"; 
$setting['name'] = "hello"; 

但是那是什麼是對上述不同這個名字:

$settings = array("localhost", "hello"); 
第一個示例

另外我怎樣才能去除元件稱爲name

(也請糾正我的術語,如果我犯了一個錯誤)

+0

在你的第一段代碼,你可能意味着$設置[「主機」]和$設置[「名」],而不是($設置,不帶S) – 2010-07-27 11:16:46

+0

是的,對不起,這只是一個錯字:) – 2010-07-27 11:25:44

回答

3

我不是100%,但這個($設置) 將被稱爲PHP中的數組:

你應該100%地肯定,他們:)

但什麼是這 不同上面這個名字:

此:

$setting['host'] = "localhost"; 
$setting['name'] = "hello"; 

這是聲明PHP陣列的不同方式。

$settings = array("localhost", "hello"); 

事實上,這是應該怎麼後來是匹配的第一個與鍵:從第一個例子也

$settings = array("host" => "localhost", "name" => "hello"); 

我怎麼能 刪除名爲名稱的元素?

您可以unset刪除:

unset($setting['name']); 

注意,聲明PHP數組時,這樣做:

$setting = array(); 

不是:

$setting; 

還要注意的是,你可以通過後綴追加信息到數組米,[],例如第三元素添加到陣列中,你可以簡單地做:

$setting[] = 'Third Item'; 

更多信息:

http://php.net/manual/en/language.types.array.php

+0

+2如果我可以......很好的迴應。 – Timothy 2010-07-27 11:27:39

2

正如國資委表示,他們都是陣列。聲明數組的正確方法是$settings = array();(而不是僅在您的第一行中使用$settings;。)

在第一和第二方式之間的主要區別在於,第一允許您使用$settings['host']$settings['name'],而後者只能與數字索引($settings[0]$settings[1])一起使用。如果你想使用第一種方式,你也可以聲明數組是這樣的:$settings = array('host'=>'localhost', 'name'=>'hello');

More reading on PHP arrays

1

嗯,這的確是一個數組。你有不同類型的數組在php中。你提到的第一個例子叫做關聯數組。只需一個字符串作爲鍵的數組。

關聯數組可以用兩種方式來聲明:

1)(你的方式宣佈它):

$sample = array(); 
$sample["name"] = "test"; 

2)

$sample = array("name" => "localhost"); 

此外,第一實施例還可以用於將現有項目添加到數組。例如:

$sample["name"][] = "some_name"; 
$sample["name"][] = "some_other_name"; 

當您執行使用的print_r($樣品)上面的代碼中你喜歡的東西:

Array ([name] => Array ([0] => some_name [1] => some_other_name)) 

添加多個字符串到現有陣列時,這是非常有用的。

卸下從數組的值是很簡單的,

像上面提到的,使用未設定功能。

unset($sample["name"]) 

給取消了整個名稱值和值連接到它 或者當你只是想取消設置$樣本[「名稱」]內的特定項目:

unset($sample["name"][0]); 

或着,當然任何項目你想。

所以基本上..你的第一個例子和後者的區別在於第一個是關聯數組,第二個不是。

有關陣列進一步參考,請訪問the PHP manual on arrays