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 add a note

User Contributed Notes 2 notes

up
6
andresdzphp at php dot net
13 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
0
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