查詢

ArrayIterator::setFlags()函式—用法及示例

「 設定迭代器的標誌位 」


ArrayIterator::setFlags() 方法用於設定迭代器的標誌位。

用法:

void ArrayIterator::setFlags ( int $flags )

引數:

  • $flags:一個表示標誌位的整數值,可以是以下常量的組合(可用 | 連線):
    • ArrayIterator::STD_PROP_LIST:按屬性迭代,忽略陣列索引。
    • ArrayIterator::ARRAY_AS_PROPS:將陣列元素作為物件屬性使用。
    • ArrayIterator::IGNORE_CASE:在屬性名稱不區分大小寫的情況下進行迭代。
    • ArrayIterator::UNIX_PATHS:以Unix路徑方式迭代。

示例:

考慮以下示例陣列:

$data = [
    'name' => 'John Smith',
    'age' => 30,
    'email' => '[email protected]',
];

使用 ArrayIterator 進行迭代:

$iterator = new ArrayIterator($data);

// 設定標誌位為 `ArrayIterator::STD_PROP_LIST`,按屬性迭代
$iterator->setFlags(ArrayIterator::STD_PROP_LIST);

// 按屬性迭代輸出鍵和值
foreach ($iterator as $key => $value) {
    echo "<strong>$key:</strong> $value<br>";
}

輸出:

name: John Smith
age: 30
email: [email protected]

使用 ArrayIterator 進行迭代並將陣列元素作為物件屬性:

$iterator = new ArrayIterator($data);

// 設定標誌位為 `ArrayIterator::ARRAY_AS_PROPS`
$iterator->setFlags(ArrayIterator::ARRAY_AS_PROPS);

// 作為物件屬性迭代輸出鍵的值
foreach ($iterator as $key => $value) {
    echo "Object property '$key': {$iterator->$key}<br>";
}

輸出:

Object property 'name': John Smith
Object property 'age': 30
Object property 'email': [email protected]
補充糾錯
下一個函式: ArrayIterator::uasort()函式
熱門PHP函式
分享連結