PHP/Çıktılama

< PHP

echo 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ştir

Alt 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ştir

Sekme (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ştir

PHP 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ştir

Kaçış 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ştir

var_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
?>