شرح صفوف ومحتوى الفقرة
تُمسح المتغيرات المحلية عادةً فور انتهاء الدالة؛ لكن إذا عرّفت متغيراً محلياً مسبوقاً بالكلمة المحجوزة static (مثل static $step = 0;)، فإن محرك PHP يهيئ قيمته الابتدائية مرة واحدة فقط عند أول استدعاء، ويحتفظ بقيمته المحدثة في الذاكرة عبر جميع الاستدعاءات التالية لنفس الدالة خلال الطلب الحالي:
PHP
<?php
declare(strict_types=1);
function generateRequestSeq(): string
{
static $seq = 100;
$seq++;
return "REQ-" . $seq;
}
echo generateRequestSeq() . "\n";
echo generateRequestSeq() . "\n";
echo generateRequestSeq();