Array數組
PHP中的array 實際上是一個有序映射。映射是一種把 values 關聯到 keys 的類型。
可以用 array() 方法來結構一個 array 。接受任意數量用逗號分隔的 鍵(key) => 值(value) 。以下範例:
<?php
$arry = array( 0 => 'apple',
1 => 'tomato',
2 => 'banana',);
echo $arry[0]; // apple
// 可以使用以下短數組語法
$arry = [ 0 => 'apple',
1 => 'tomato',
2 => 'banana',];
echo $arry[0]; // apple
?>
沒有鍵名的索引數組
<?php
$array = array("apple", "tomato", "banana", );
var_dump($array);
// 輸出
array(4) {
[0]=>
string(5) "apple"
[1]=>
string(6) "tomato"
[2]=>
string(6) "banana"
}
?>
數組可以用在許多地方,以下有些範例
<?php
$map = array( 'version' => 4,
'OS' => 'Linux',
'lang' => 'english',
'short_tags' => true
);
// . . .完全等同於:
$a = array();
$a['version'] = 4;
$a['os'] = 'Linux';
$a['lang'] = 'english';
$a['short_tags'] = true;
unset($a['os']); // 刪除 "Linux"
?>
輸出集合
<?php
$maps = array( 'version' => 4,
'OS' => 'Linux',
'lang' => 'english',
'short_tags' => true
);
foreach ($maps as $key => $value) {
echo "$key is $value\n";
}
// version is 4
// OS is Linux
// lang is english
// short_tags is 1
?>
Array 是有序的。也可以使用不同的排序函数来改變順序。
數組排序範例
<?php
sort($files); // 對value排序
print_r($files);
?>
Iterable可迭代對象
它接受任何 array 或實現了 Traversable(可遍歷) 接口的對象。
這些類型都能用 foreach 迭代, 也可以和 生成器 里的 yield from 一起使用。
<?php
function gen(): iterable { // 建立一個可迭代生成器
yield 1;
yield 2;
yield 3;
}
$iterable = gen(); // 實例化
foreach($iterable as $value){
echo "$value\n";
}
// 輸出
// 1
// 2
// 3
// 答案相同
function gen(): iterable {
return [1, 2, 3];
}
$iterable = gen();
foreach($iterable as $value){
echo "$value\n";
}
?>
資料來源:https://www.php.net/manual/zh/