PHP/Çıktılama
echo
değiştirecho deyimi, bir karakter dizisi veya değişkenin çıktılanmasını sağlar.
<?php
echo "Vikikitap";
?>
Yukarıdaki kod parçası Vikikitap ifadesini çıktılar.
echo deyimiyle değişkenler de kullanılabilir:
<?php
$wiki = "Vikikitap";
echo $wiki; // Vikikitap
?>
echo deyiminde değişkenler ve karakter dizileri birarada kullanılabilir. Bu durumda, karakter dizilerini birleştirmeye yarayan nokta operatörü kullanılır:
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo $wiki . $lang . "Programlama Dili";
?>
Bu kod parçasının çıktısı:
VikikitapPHPProgramlamaDili
Daha hoş bir görüntü elde etmek için $wiki ve $lang değişkenlerinin arasına, ve sondaki karakter dizisinin başına boşluk eklenebilir:
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo $wiki . " " . $lang . " Programlama Dili";
?>
Yeni çıktı:
Vikikitap PHP Programlama Dili
Çıktılanacak olan değer, önce bir değişkene de atanabilir:
<?php
$wiki = "Vikikitap";
$lang = "PHP";
$output = $wiki . " " . $lang . " Programlama Dili";
echo $output; // Vikikitap PHP Programlama Dili
?>
Nokta operatörü yerine virgül de kullanılabilir:
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo $wiki, " ", $lang, " Programlama Dili";
?>
Bu örnek de yukarıdakiyle aynı çıktıyı verecektir.
Nokta operatörü veya virgül kullanılmadan aynı örnek şöyle de yazılabilir:
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo "$wiki $lang Programlama Dili";
?>
Burada nokta operatörüyle birleştirme yapmadan, değişkenler ve Programlama Dili karakter dizisi çift tırnaklar içine yazıldı. Yukarıdaki kodun çıktısı:
Vikikitap PHP Programlama Dili
Tırnaklar içinde kullanırken değişken isimleri süslü ayraçlar içine de alınabilir. Ayrıca bu, okunabilirliği artırması açısından daha iyi bir yöntemdir:
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo "{$mekan} {$dil} Programlama Dili"; // değişkenler süslü ayraçlarla sarmalandı
?>
$ işareti, süslü parantezlerin dışında da olabilir:
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo "${wiki} ${lang} Programlama Dili"; // Vikikitap PHP Programlama Dili
?>
Karakter dizileri çift tırnaklar haricinde tek tırnaklar kullanılarak da tanımlanabildiğine göre, tek tırnaklar echo deyimiyle de kullanılabilir:
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo $wiki . ' ' . $lang . ' Programlama Dili';
?>
Ancak tek tırnaklar içerisinde kullanılan değişkenlerin değerleri çıktılanmaz. Bunlar yazıldıkları gibi çıktıya dahil olurlar:
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo '$wiki $lang Programlama Dili';
?>
Çıktısı:
$wiki $lang Programlama Dili
Tek tırnaklar kullanılırken, değişken isimlerini süslü ayraçlarla sarmalamak da fayda etmez:
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo '{$wiki} {$lang} Programlama Dili';
?>
Çıktısı:
{$wiki} {$lang} Programlama Dili
Elbette echo deyimiyle yalnızca karakter dizileri değil, integer ve float türündeki değişkenler ve sabit ifadeler de çıktılanabilir:
<?php
$lang = 'PHP';
$version = 7.2;
echo "{$lang} dilinin güncel sürümü: {$version}"; // PHP dilinin güncel sürümü: 7.2
$writer = 'Anton Çehov';
$aged = 44;
echo $writer . ', ' . $aged . ' yaşında hayatını kaybetti.'; // Anton Çehov, 44 yaşında hayatını kaybetti.
?>
echo deyimiyle boolean değerler de çıktılanabilir ancak elde edeceğiniz çıktı sizi biraz şaşırtabilir. Örneğin:
<?php
$bool = false;
echo $bool;
?>
Yukarıdaki kodlar herhangi bir çıktı üretmez. Mantıksal true değeri çıktılandığında ise sonuç 1 olur. Bunun sebebini ilerleyen bölümlerde öğreneceksiniz.
Kaçış karakterleri
değiştir\n karakteri
değiştirAlt satıra geçilmesini sağlar.
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo "{$wiki} {$lang}\nProgramlama Dili";
?>
Yukarıdaki kod parçası web tarayıcıda çalıştırıldığında
Vikikitap PHP Programlama Dili
çıktısı elde edilir. Ancak sayfanın kaynak kodlarına bakıldığında ise
Vikikitap PHP Programlama Dili
yazdığı görülür. Görüldüğü gibi kaynak kodda alt satıra geçilmiştir fakat web tarayıcıdaki çıktı tek satıra yayılmıştır. Bunun nedeni satır sonlarının, web tarayıcı tarafından tek bir boşluk karakteri olarak yorumlanmasıdır. HTML'de alt satıra geçebilmek için
HTML etiketi kullanılır:
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo "{$wiki} {$lang}\n<br>Programlama Dili";
?>
Bu kez hem \n kaçış karakteri hem de br HTML etiketi kullanıldı. Bu durumda tarayıcı çıktısı şu biçimde olacaktır:
Vikikitap PHP Programlama Dili
Aynı sayfanın kaynak kodlarında da alt satıra geçilmiştir:
Vikikitap PHP <br>Programlama Dili
çünkü br etiketinden önce \n alt satır karakteri kullanıldı.
\t karakteri
değiştirSekme (tab) görevi görür.
<?php
$wiki = "Vikikitap";
$lang = "PHP";
echo "{$wiki} {$lang}\tProgramlama Dili";
?>
Yukarıdaki kod parçasının çalıştığı sayfanın kaynak kodlarına bakıldığında:
Vikikitap PHP Programlama Dili
yazdığı görülür. \n kaçış karakterinde olduğu gibi bu kaçış karakteri de sadece kaynak kodlarda etkili olur ve tarayıcı çıktısına etki etmez. Çünkü web tarayıcılar, kaynak kodlardaki birden fazla boşluğu tek bir boşluk olarak yorumlar.
\" ve \' karakterleri
değiştir<?php
echo "Friedrich Schiller der ki: "Doğruluk, her türlü şart altında meyve verir."";
?>
Yukarıda echo deyimine verilen karakter dizisinin tırnaklar nedeniyle sorun çıkaracağını string veri türüyle ilgili bilgilerimizden biliyoruz. Bunun önüne geçmek için \" kaçış karakteri kullanılabilir. Yani:
<?php
echo "Friedrich Schiller der ki: \"Doğruluk, her türlü şart altında meyve verir.\"";
?>
Çıktısı:
Friedrich Schiller der ki: "Doğruluk, her türlü şart altında meyve verir."
Aynı durum tek tırnaklar için de geçerlidir.
<?php
echo 'Friedrich Schiller der ki: 'Doğruluk, her türlü şart altında meyve verir.''; // sorun çıkacak
echo 'Friedrich Schiller der ki: \'Doğruluk, her türlü şart altında meyve verir.\''; // sorunsuz
?>
\$ karakteri
değiştirPHP yorumlayıcısı, echo deyimindeki çift tırnaklar içinde $ işareti gördüğünde, o isimde bir değişken arayacak ve bulduğu değişkenin değerini çıktıya dahil edecektir. Ancak her zaman istenilen o değişkenin değerini çıktılamak olmayabilir:
<?php
$wiki = "Vikikitap";
echo "$wiki"; // çıktısı: Vikikitap
echo "\$wiki"; // çıktısı: $wiki
?>
echo deyiminde tek tırnaklar kullanıldığında, değişkenlerin değeri zaten çıktılanmayacağ için bu kaçış karakteri tek tırnaklarla kullanılmaz:
<?php
$mekan = "Vikikitap";
echo '\$mekan'; // çıktısı: \$mekan
?>
\\ karakteri
değiştirKaçış karakterinin yerine getirdiği görevi geçersiz kılmak için kullanılır:
<?php
$wiki = "Vikikitap";
echo "\$wiki"; // çıktısı: $mekan
echo "\\$wiki"; // çıktısı: \Vikikitap
?>
var_dump()
değiştirvar_dump() işlevi, bir değişkenle ilgili bilgileri çıktılar.
<?php
$wiki = "Vikikitap";
var_dump($wiki);
?>
Çıktısı:
string(9) "Vikikitap"
Bu çıktıdan anlaşılacağı üzere $wiki değişkeni string türündedir, 9 karakter uzunluğundadır ve değeri Vikikitap ifadesidir.
<?php
$intNum = 75;
$floatNum = 75.75;
$lang = "PHP";
$boolVal = false;
var_dump($intNum); // çıktısı: int(75)
var_dump($floatNum); // çıktısı: float(75.75)
var_dump($lang); // çıktısı: string(3) "PHP"
var_dump($boolVal); // çıktısı: bool(false)
/*
Birden fazla değişken de parametre olarak verilebilir.
*/
var_dump($intNum, $floatNum, $lang, $boolVal); // yukarıdakiyle aynı çıktı elde edilir
?>