MultipleIterator::attachIterator

(PHP 5 >= 5.3.0, PHP 7)

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

Описание

public MultipleIterator::attachIterator ( Iterator $iterator , string $infos = ? ) : void

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

Внимание

К настоящему времени эта функция ещё не была документирована; для ознакомления доступен только список аргументов.

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

iterator

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

infos

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

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

Описание...

Ошибки

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

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

add a note add a note

User Contributed Notes 2 notes

up
7
andresdzphp at php dot net
9 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
-1
DDT
8 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