PHP 8.1.28 Released!

MultipleIterator::attachIterator

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::attachIteratorПрисоединяет итератор

Описание

public MultipleIterator::attachIterator(Iterator $iterator, string|int|null $info = null): void

Присоединяет итератор.

Внимание

Функцию пока не задокументировали; для знакомства доступен только список аргументов.

Список параметров

iterator

Новый итератор для присоединения.

info

Ассоциативная информация для итератора (Iterator), которая должна быть представлена целым числом (int), строкой (string), или null.

Возвращаемые значения

Описание...

Ошибки

IllegalValueException, если параметр iterator недействителен, или если info содержит уже ассоциированную информацию.

Смотрите также

add a note

User Contributed Notes 2 notes

up
7
andresdzphp at php dot net
12 years ago
<?php
$ait_id
= new ArrayIterator(array('c1001', 'c1002', 'c1003'));
$ait_name = new ArrayIterator(array('apple', 'orange', 'banana'));
$ait_units = new ArrayIterator(array(756, 996, 2345));

$mit = new MultipleIterator(MultipleIterator::MIT_KEYS_ASSOC);
$mit->attachIterator($ait_id, "ID");
$mit->attachIterator($ait_name, "NAME");
$mit->attachIterator($ait_units, "UNITS");

echo
$mit->countIterators() . "\n"; //3

if ($mit->containsIterator($ait_id)) { //true
echo "ait_id iterator attached \n";
}

foreach (
$mit as $fruit) {
echo
"<pre>";
print_r($fruit);
echo
"</pre>";
}
?>

Result:

3
ait_id iterator attached

Array
(
[ID] => c1001
[NAME] => apple
[UNITS] => 756
)
Array
(
[ID] => c1002
[NAME] => orange
[UNITS] => 996
)
Array
(
[ID] => c1003
[NAME] => banana
[UNITS] => 2345
)
up
-2
DDT
11 years ago
If you have multiple file upload fields named "files[]"...

<?php
if (isset($_FILES["files"])) {
$uploads = new MultipleIterator(MultipleIterator::MIT_KEYS_ASSOC);
$uploads->attachIterator(new ArrayIterator((array) $_FILES["files"]["name"]), "name");
$uploads->attachIterator(new ArrayIterator((array) $_FILES["files"]["size"]), "size");
$uploads->attachIterator(new ArrayIterator((array) $_FILES["files"]["type"]), "type");
$uploads->attachIterator(new ArrayIterator((array) $_FILES["files"]["tmp_name"]), "tmp_name");
$uploads->attachIterator(new ArrayIterator((array) $_FILES["files"]["error"]), "error");

foreach (
$uploads as $file) {
echo
htmlspecialchars($file["name"]) . " = {$file["size"]} bytes<br/>";
}
}
?>
To Top