MultipleIterator::attachIterator()
(PHP 5 >= 5.3.0, PHP 7)
Attaches iterator information
说明
public MultipleIterator::attachIterator( Iterator$iterator[,string $infos] ): void
Attaches iterator information.
Warning本函数还未编写文档,仅有参数列表。
参数
- $iterator
The new iterator to attach.
- $infos
The associative information for the Iterator, which must be an integer, a string, or
NULL
.
返回值
Description...
错误/异常
An IllegalValueException if the $iterator parameter is invalid, or if $infos is already associated information.
参见
- MultipleIterator::__construct() Constructs a new MultipleIterator
<?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 )
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/>"; } } ?>