php學習筆記(八)陣列

2021-06-27 02:59:48 字數 2255 閱讀 4388

陣列是特殊的變數,它可以同時儲存乙個以上的值。

如果您有乙個專案列表(例如汽車品牌列表),在單個變數中儲存這些品牌名稱是這樣的:

$cars1="volvo";

$cars2="bmw";

$cars3="saab";

不過,假如您希望對變數進行遍歷並找出特定的那個值?或者如果您需要儲存 300 個汽車品牌,而不是 3 個呢?

解決方法是建立陣列!

陣列能夠在單一變數名中儲存許多值,並且您能夠通過引用下標號來訪問某個值。

定義陣列 array()

可以用 array() 語言結構來新建乙個陣列。它接受任意數量用逗號分隔的 鍵(key) => 值(value)

對。

array(  key =>  value

, ...

)// 鍵(key)可是是乙個整數 integer 或字串 string

// 值(value)可以是任意型別的值

最後乙個陣列單元之後的逗號可以省略。通常用於單行陣列定義中,例如常用 array(1, 2) 而不是 array(1, 2, )。對多行陣列定義通常保留最後乙個逗號,這樣要新增乙個新單元時更方便。

自php 5.4 起可以使用短陣列定義語法,用 替代 array()。

<?php

$array = array(

"foo" => "bar",

"bar" => "foo",

);// 自 php 5.4 起

$array = [

"foo" => "bar",

"bar" => "foo",

];?>

key 可以是 integer 或者 string。value 可以是任意型別。

此外 key 會有如下的強制轉換:

如果在陣列定義中多個單元都使用了同乙個鍵名,則只使用了最後乙個,之前的都被覆蓋了。

例如:

<?php

$array = array(

1 => "a",

"1" => "b",

1.5 => "c",

true => "d",

);var_dump($array);

?>

執行結果:

array(1)

上例中所有的鍵名都被強制轉換為 1,則每乙個新單元都會覆蓋前乙個的值,最後剩下的只有乙個 "d"。

php 陣列可以同時含有 integer

和 string

型別的鍵名,因為 php 實際並不區分索引陣列和關聯陣列。

如果對給出的值沒有指定鍵名,則取當前最大的整數索引值,而新的鍵名將是該值加一。如果指定的鍵名已經有了值,則該值會被覆蓋。

key 為可選項。如果未指定,php 將自動使用之前用過的最大 integer

鍵名加上 1 作為新的鍵名。   

<?php

$array = array("foo", "bar", "hallo", "world");

var_dump($array);

?>

執行結果:

array(4)

因為陣列中的值可以為任意值,也可是另乙個陣列。這樣可以產生遞迴或多維陣列。

<?php

$fruits = array ( "fruits" => array ( "a" => "orange",

"b" => "banana",

),"numbers" => array ( 1,

2,3,

4,5,6),

"holes" => array ( "first",

5 => "second",

"third"));

// some examples to address values in the array above

echo $fruits["holes"][5]; // prints "second"

echo $fruits["fruits"]["a"]; // prints "orange"

unset($fruits["holes"][0]); // remove "first"

// create a new multi-dimensional array

?>

PHP學習筆記(八)

a time to shop if preg match shop a else 結果如圖 上面 的意思是在 a中匹配shop字串,如果匹配成功,則立刻停止匹配並輸出yes,否則繼續匹配,直到沒有匹配項,便輸出no。其中的shop就是正規表示式。是分隔符,每個表示式必須包含在一對分隔符中。可以選擇任...

PHP 陣列 學習筆記

一 陣列的分類 1.索引陣列 下標是整數的陣列,下標從0開始依次類推 arr array a b c d echo arr 1 索引陣列的三種賦值方式 第一種 arr array a b 第二種 arr 2 c arr 5 f 第三種 arr2 array 0 蘋果 1 香蕉 10 橘子 索引陣列的...

PHP陣列學習筆記

php陣列學習筆記 php數學有三類,數值陣列 帶有數字id 鍵的陣列 關聯陣列 陣列中的每個 id 鍵關聯乙個值 多維陣列 包含乙個或多個陣列的陣列。如何宣告?name array a b c 這裡當然可以不用引號,它也被解析為字串,但是要注意,比如www.aaa.com這種形式,如果要他正確解析...