代码拉取完成,页面将自动刷新
<?php
/**
* 相比起foreach遍历数组,ArrayIterator在排序和取部分数组上面更有优势
*/
$fruits = [
'apple' => 'apple value',
'orange' => 'orange value',
'grape' => 'grape value',
'plum' => 'plum value'
];
// 使用传统的foreach遍历数组
echo "使用传统的foreach遍历数组:" . PHP_EOL;
foreach ($fruits as $key => $value) {
echo $key . " : " . $value . PHP_EOL;
}
// 实例化ArrayIterator
$obj = new ArrayObject($fruits);
$it = $obj->getIterator();
// 使用ArrayIterator来遍历数组(foreach)
echo PHP_EOL . "使用ArrayIterator来遍历数组(foreach):" . PHP_EOL;
foreach ($it as $key => $value) {
echo $key . " : " . $value . PHP_EOL;
}
// 使用ArrayIterator来遍历数组(while)
echo PHP_EOL . "使用ArrayIterator来遍历数组(while):" . PHP_EOL;
$it->rewind();
while ($it->valid()) {
echo $it->key() . " : " . $it->current() . PHP_EOL;
$it->next();
}
// 跳过某些元素进行打印
echo PHP_EOL . "使用ArrayIterator来遍历数组(跳过某些元素):" . PHP_EOL;
$it->rewind();
if ($it->valid()) {
$it->seek(2); // 设置指针的位置,为n时即跳过前面n-1的元素
while ($it->valid()) {
echo $it->key() . " : " . $it->current() . PHP_EOL;
$it->next();
}
}
/*
grape : grape value
plum : plum value
*/
// 对key进行字典序排序
echo PHP_EOL . "使用ArrayIterator来遍历数组(对key排序):" . PHP_EOL;
$it->ksort();
$it->rewind();
while ($it->valid()) {
echo $it->key() . " : " . $it->current() . PHP_EOL;
$it->next();
}
/*
apple : apple value
grape : grape value
orange : orange value
plum : plum value
*/
// 对value进行字典序排序
echo PHP_EOL . "使用ArrayIterator来遍历数组(对value排序):" . PHP_EOL;
$it->asort();
$it->rewind();
while ($it->valid()) {
echo $it->key() . " : " . $it->current() . PHP_EOL;
$it->next();
}
/*
apple : apple value
grape : grape value
orange : orange value
plum : plum value
*/
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。