تمام ٹولز
مفت

ایک قابلِ تلاش، قابلِ پرنٹ PHP 8.3+ حوالہ — سنٹیکس، strings، arrays، فنکشنز، کلاسز، enums، attributes اور جدید خصوصیات۔ مفت۔

بنیادیات اور ٹائپس

10
declare(strict_types=1);
سخت scalar type چیکس نافذ کریں
$x = 1;
ویری ایبلز ڈالر نشان سے شروع ہوتے ہیں
const MAX = 100;
compile-time constant
gettype($x)
ویلیو کی ٹائپ حاصل کریں
(int) $x
integer میں cast کریں
is_int($x)
Type-check helper (is_string, ...)
int|string $x
Union type ڈیکلیریشن
?string $x
Nullable type (string یا null)
$a ?? 'default'
Null coalescing operator
$a ??= 'default'
صرف null ہونے پر تفویض کریں

Strings

11
"Hello $name"
ڈبل کوٹس ویری ایبلز interpolate کرتے ہیں
'literal $x'
سنگل کوٹس لفظی ہوتے ہیں
$a . $b
strings جوڑیں
strlen($s)
string کی byte لمبائی
str_contains($s, 'a')
substring کی جانچ کریں
str_starts_with($s, 'a')
prefix چیک کریں
substr($s, 0, 3)
string کا حصہ نکالیں
str_replace('a', 'b', $s)
تمام مواقع تبدیل کریں
explode(',', $s)
array میں تقسیم کریں
sprintf('%05.2f', $n)
فارمیٹ شدہ string آؤٹ پٹ
trim($s)
ارد گرد کی whitespace ہٹائیں

Arrays

11
$a = [1, 2, 3];
Indexed array literal
$a = ['k' => 'v'];
Associative array
array_map(fn($x) => $x * 2, $a)
ہر element کو تبدیل کریں
array_filter($a, fn($x) => $x > 0)
میچ کرنے والے elements رکھیں
array_reduce($a, $fn, 0)
ایک ویلیو میں reduce کریں
in_array($v, $a, true)
سخت ویلیو چیک
array_keys($a)
تمام keys حاصل کریں
array_merge($a, $b)
arrays ضم کریں
[...$a, ...$b]
arrays spread\/ضم کریں
count($a)
elements کی تعداد
[$x, $y] = $a;
Array destructuring

فنکشنز

9
function f(int $a): int {}
Typed parameters اور return
function f(int $a = 1) {}
ڈیفالٹ parameter ویلیو
function f(int ...$nums) {}
Variadic parameters
f(...$args)
arguments spread کریں
f(name: 'Sam', age: 30)
نامزد arguments
$fn = fn($x) => $x + 1;
Arrow function (خودکار scope کیپچر)
function () use ($x) {}
ویری ایبل کیپچر کرنے والا closure
$fn = strlen(...);
First-class callable syntax
function f(): never {}
کبھی return نہیں کرتا (throw یا exit)

کنٹرول فلو

9
if ($a) {} elseif ($b) {} else {}
مشروط شاخیں
$a ? $b : $c
Ternary expression
$a ?: $b
Short ternary (falsy fallback)
match ($x) { 1, 2 => 'a', default => 'b' }
سخت، expression پر مبنی match
switch ($x) { case 1: break; }
نرم کئی راستوں والی شاخ
foreach ($a as $k => $v) {}
keys اور values پر iterate کریں
for ($i = 0; $i < 10; $i++) {}
گنتی والا loop
while ($cond) {}
شرط برقرار رہنے تک loop کریں
break / continue
loop iteration سے نکلیں یا چھوڑیں

Classes اور OOP

10
class A extends B implements C {}
وراثت اور interfaces
public function __construct(private int $id) {}
Constructor property promotion
public readonly string $name;
initialization کے بعد immutable
public function f(): static {}
late-bound type واپس کریں
static::create()
Late static binding
$obj?->method()
Null-safe method کال
abstract class A {}
براہ راست instantiate نہیں ہو سکتا
trait T {} use T;
دوبارہ قابل استعمال horizontal code
$obj instanceof A
runtime پر type چیک
A::class
مکمل class name string

Enums

9
enum Status { case Active; case Draft; }
خالص enumeration
enum Status: string { case A = 'a'; }
Backed enum (string\/int)
Status::Active
enum case کا حوالہ دیں
Status::from('a')
backing value سے بنائیں
Status::tryFrom('x')
غلط ہونے پر null واپس کرتا ہے
Status::cases()
تمام cases کا array
$status->value
case کی backing value
$status->name
case کا نام
enum E { public function label() {} }
Enums میں methods ہو سکتے ہیں

Error handling

9
try {} catch (Throwable $e) {}
errors اور exceptions پکڑیں
catch (TypeError | ValueError $e)
کئی ٹائپس پکڑیں
catch (Exception)
Non-capturing catch (بغیر ویری ایبل)
finally {}
ہمیشہ try\/catch کے بعد چلتا ہے
throw new RuntimeException('x')
exception throw کریں
throw $e;
پکڑی گئی exception دوبارہ throw کریں
$x = $v ?? throw new Error();
بطور expression throw کریں
$e->getMessage()
error پیغام پڑھیں
$e->getPrevious()
chained exception حاصل کریں

Attributes اور جدید

9
#[Attribute] class Route {}
کسٹم attribute ڈیکلیئر کریں
#[Route('/home')]
ہدف پر attribute لاگو کریں
new ReflectionClass($x)
reflection کے ذریعے class جانچیں
$ref->getAttributes()
ڈیکلیئر شدہ attributes پڑھیں
json_encode($data)
JSON میں serialize کریں
json_decode($s, true)
JSON کو array میں decode کریں
array_is_list($a)
اگر keys ترتیب میں 0..n ہوں تو true
str_word_count($s)
string میں الفاظ گنیں
$obj::class
instance سے class name

کوئی اندراج “:q” سے میل نہیں کھاتا۔


شیئر کریں
مدد چاہیے؟
اس ٹول میں کوئی مسئلہ ملا؟ ہماری ٹیم کو بتائیں۔
مسئلہ رپورٹ کریں

اس مفت ٹول کو اپنی ویب سائٹ پر شامل کریں — نیچے دیا گیا کوڈ کاپی اور پیسٹ کریں۔