Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP Iterables


ความหมายและการใช้งาน

ตั้งแต่เวอร์ชัน 7.1 เป็นต้นไป PHP ได้จัดเตรียม pseudo-type ใหม่ที่เรียกว่า iterable . ออบเจ็กต์ใดๆ (เช่น อาร์เรย์) ที่ใช้ สามารถข้ามผ่านได้ อินเทอร์เฟซเป็นที่ยอมรับ ประเภทนี้ใช้โครงสร้าง foreach หรือฟังก์ชันตัวสร้างที่ให้ค่าครั้งละหนึ่งค่า

ไวยากรณ์

ฟังก์ชันสามารถมี iterable เป็นประเภทของพารามิเตอร์เพื่อให้ฟังก์ชันยอมรับชุดของค่าที่ใช้ใน foreach คำแถลง. หากพารามิเตอร์ไม่รองรับลูป foreach ตัวแยกวิเคราะห์ PHP จะส่ง TypeError

ตัวอย่าง

<?php
$arr1=array("PHP","Java","Python");
function myfunc (iterable $arr1){
   foreach ($arr1 as $lang){
      echo $lang . "\n";
   }
}
myfunc($arr1);
?>

ผลลัพธ์

สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -

PHP
Java
Python

ฟังก์ชัน PHP ยังสามารถส่งคืนชนิดข้อมูลที่ทำซ้ำได้ เช่น อาร์เรย์ เราใช้ is_iterable() ฟังก์ชันตรวจสอบชนิดของมูลค่าที่ส่งคืน

ตัวอย่าง

<?php
function newfunc ():iterable{
   $arr2=[];
   for ($i=1;$i<4;$i++){
      $arr2[$i]=$i*2;
   }
   return $arr2;
}
$ret=newfunc();
var_dump (is_iterable($ret));
?>

ผลลัพธ์

สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -

bool(true)

ต่อไปนี้เป็นตัวอย่างของตัวสร้างที่มีประเภทการส่งคืนแบบวนซ้ำได้

ตัวอย่าง

<?php
function gen(): iterable {
   yield 1;
   yield 2;
   yield 3;
}
gen();
?>

เวอร์ชัน PHP

pseudo-type ที่ทำซ้ำได้ถูกนำมาใช้ใน PHP 7.1