PHP Hile Sayfası
Son güncelleme
Hello World ve etiketler
PHP kodu <?php ... ?> etiketlerinin içinde yaşar; dışındaki her şey düz çıktı olarak gönderilir.
| İşlem | Söz dizimi |
|---|---|
| PHP'yi aç / kapat | <?php ... ?> |
| Metin yazdır | echo "Hello, World!"; |
| Biçimlendirilmiş yazdır | printf("%d items", $n); |
| Kısa echo (HTML içinde) | <?= $name ?> |
| Tek satırlık yorum | // comment veya # comment |
| Blok yorum | /* comment */ |
| İfade sonlandırıcı | ; |
| Bir dosyayı çalıştır (CLI) | php index.php |
Değişkenler ve tipler
Değişkenler $ ile başlar ve dinamik tiplidir.
| İşlem | Söz dizimi |
|---|---|
| Bir değişken tanımla | $name = "Ada"; |
| Sabit | const PI = 3.14; veya define("PI", 3.14); |
| Skaler tipler | int, float, string, bool |
| Null | $x = null; |
| Tipi kontrol et | gettype($x), is_int($x), is_array($x) |
| Bir tipe dönüştür | (int) $str, (string) $num |
| Değişken var mı / ayarlı mı | isset($x), empty($x) |
| Dize interpolasyonu | echo "Hi $name"; |
Dizeler
Çift tırnaklar değişkenleri yerleştirir; tek tırnaklar değişmezdir.
| İşlem | Söz dizimi |
|---|---|
| Birleştir | $a . $b |
| Uzunluk | strlen($s) |
| Büyük / küçük harf | strtoupper($s), strtolower($s) |
| Alt dize | substr($s, 0, 5) |
| Konum bul | strpos($s, "x") |
| Değiştir | str_replace("a", "b", $s) |
| Diziye böl | explode(",", $csv) |
| Bir diziyi birleştir | implode(",", $arr) |
| Boşlukları kırp | trim($s) |
| Bir dizeyi biçimlendir | sprintf("%05.2f", $n) |
Diziler (ilişkisel dahil)
Tek bir dizi tipi hem indeksli listeleri hem de anahtar-değer map'lerini kapsar.
| İşlem | Söz dizimi |
|---|---|
| İndeksli dizi | $nums = [1, 2, 3]; |
| İlişkisel dizi | $user = ["name" => "Ada", "age" => 30]; |
| Bir elemana eriş | $nums[0], $user["name"] |
| Ekle | $nums[] = 4; |
| Bir anahtar ayarla | $user["role"] = "admin"; |
| Uzunluk | count($nums) |
| Bir anahtarı kontrol et | isset($user["name"]), array_key_exists("name", $user) |
| Bir elemanı kaldır | unset($nums[1]); |
| Dizileri birleştir | array_merge($a, $b) |
| anahtar => değer dolaş | foreach ($user as $k => $v) { ... } |
Kontrol akışı
Koşullar ve döngüler C tarzı söz dizimini izler.
| İşlem | Söz dizimi |
|---|---|
| If / elseif / else | if ($x > 0) { ... } elseif (...) { ... } else { ... } |
| Üçlü (ternary) | $y = $x > 0 ? "pos" : "neg"; |
| Null birleştirme | $name = $_GET["name"] ?? "guest"; |
| Switch | switch ($day) { case 1: ...; break; default: ... } |
| For döngüsü | for ($i = 0; $i < 10; $i++) { ... } |
| While döngüsü | while ($x < 100) { ... } |
| Foreach | foreach ($items as $item) { ... } |
| Match ifadesi | $r = match($x) { 1 => "one", default => "?" }; |
| Break / continue | break;, continue; |
Fonksiyonlar
Fonksiyonlar tipler, varsayılan değerler ve variadic parametreler bildirebilir.
| İşlem | Söz dizimi |
|---|---|
| Temel fonksiyon | function add($a, $b) { return $a + $b; } |
| Tipli parametreler ve dönüş | function add(int $a, int $b): int { ... } |
| Varsayılan değer | function greet($name = "guest") { ... } |
| Variadic parametreler | function sum(...$nums) { ... } |
| Referansla geçir | function inc(&$x) { $x++; } |
| Anonim fonksiyon | $f = function($x) { return $x * 2; }; |
| Ok fonksiyonu | $f = fn($x) => $x * 2; |
| Dış değişkeni kullan | function() use ($n) { ... } |
Superglobal'ler
Her kapsamda kullanılabilen, çoğunlukla istek verisi için yerleşik diziler.
| Superglobal | Neyi tutar |
|---|---|
$_GET | URL'den sorgu dizesi parametreleri |
$_POST | POST ile gönderilen form verisi |
$_REQUEST | Birleştirilmiş $_GET, $_POST ve $_COOKIE |
$_SESSION | Kullanıcı başına oturum verisi (session_start()'tan sonra) |
$_COOKIE | Tarayıcı tarafından gönderilen çerezler |
$_SERVER | Sunucu ve istek bilgisi (REQUEST_METHOD vb.) |
$_FILES | Yüklenen dosya üst verisi |
$_ENV | Ortam değişkenleri |
Yaygın dizi fonksiyonları
PHP yüzlerce dizi yardımcısıyla gelir; bunlar en çok iş görenler.
| Fonksiyon | Ne yapar |
|---|---|
array_map($fn, $arr) | Her elemanı dönüştür |
array_filter($arr, $fn) | Geri çağrının true olduğu elemanları tut |
array_reduce($arr, $fn, $init) | Tek bir değere katla |
in_array($v, $arr) | Bir değerin mevcut olup olmadığını kontrol et |
array_keys($arr) / array_values($arr) | Anahtarları veya değerleri al |
sort($arr) / rsort($arr) | Yerinde sırala (artan / azalan) |
usort($arr, $cmp) | Özel bir karşılaştırıcıyla sırala |
array_slice($arr, 1, 3) | Bir bölümü çıkar |
array_push($arr, $v) / array_pop($arr) | Sondan ekle / kaldır |
Sınıflar ve OOP
PHP sınıfları, kalıtımı, arayüzleri ve görünürlük belirteçlerini destekler.
| İşlem | Söz dizimi |
|---|---|
| Bir sınıf tanımla | class User { ... } |
| Görünürlüklü özellik | public string $name; |
| Yapıcı (constructor) | function __construct($name) { $this->name = $name; } |
| Yapıcı yükseltmesi (promotion) | function __construct(public string $name) {} |
| Bir örnek oluştur | $u = new User("Ada"); |
| Bir üyeye eriş | $u->name, $u->save() |
| Statik üye | User::$count, User::create() |
| Kalıtım | class Admin extends User { ... } |
| Arayüz | interface Saveable { public function save(); } |
| Bir arayüzü uygula | class User implements Saveable { ... } |
En çok başvurduğunuz PHP söz dizimi tek sayfada. Bu PHP hile sayfası, temel dil için hızlı bir başvurudur - değişkenler ve tipler, dizeler, diziler (ilişkisel diziler dahil), kontrol akışı, fonksiyonlar, $_GET ve $_POST gibi superglobal'ler ve sınıflar.
Buradaki her şey modern sürümlerde çalışan standart PHP'dir. İhtiyacınız olanı kopyalayın ya da her kod parçasını PHP playground'da canlı deneyin - kurmanız gereken bir sunucu yok.
PHP hile sayfası SSS
Bu PHP hile sayfası ücretsiz mi?
PHP'de == ile === arasındaki fark nedir?
== gevşek karşılaştırmadır: karşılaştırmadan önce işlenenleri ortak bir tipe dönüştürür, dolayısıyla 0 == "0" ve hatta 0 == "" sürümler arasında şaşırtıcı davranabilir. === katı karşılaştırmadır: yalnızca değerler eşit ve aynı tipte olduğunda true döndürür, dolayısıyla 0 === "0" false olur. Tip karıştırma hatalarından kaçınmak için === tercih edin.PHP'de ilişkisel diziler nedir?
["name" => "Ada", "age" => 30]. PHP'nin hem sıralı bir liste hem de anahtar-değer map'i olarak iş gören tek bir dizi tipi vardır, dolayısıyla değerlere anahtarla $user["name"] ile erişir ve foreach ($user as $key => $value) ile dolaşırsınız.