print
(PHP 4, PHP 5, PHP 7, PHP 8)
print — Bir dizge çıktılar
Açıklama
print aslında bir işlev değildir (bir dil oluşumudur),
dolayısıyla bağımsız değişkenini belirtirken yaylı ayraçları kullanmanız gerekmez.
echo'dan başlıca farklar,
print
'in tek bir bağımsız değişken kabul etmesi ve daima
1
döndürmesidir.
Bağımsız Değişkenler
-
ifade
-
Çıktılanacak ifade. Dizge olmayan değerler strict_types
yönergesi etkin olsa bile
dizgeye zorlanır.
Dönen Değerler
Daima 1
döner.
Hatalar/İstisnalar
PHP 8.0.0 ve sonrasında, bağımsız değişken sayısı sıfırsa
ValueError oluşuyor. PHP 8.0.0 öncesinde bunun
yerine bir E_WARNING
uyarısı verilirdi.
PHP 8.0.0 ve sonrasında, [width]
(genişlik) sıfırdan
küçükse veya PHP_INT_MAX
'tan büyükse bir
ValueError oluşuyor. PHP 8.0.0 öncesinde, bir
E_WARNING
uyarısı verilirdi.
PHP 8.0.0 ve sonrasında, [precision]
(hassasiyet)
sıfırdan küçükse veya PHP_INT_MAX
'tan büyükse bir
ValueError oluşuyor. PHP 8.0.0 öncesinde, bir
E_WARNING
uyarısı verilirdi.
PHP 8.0.0 ve sonrasında, gereğinden daha az bağımsız değişken verildiğinde
bir ArgumentCountError oluşuyor. PHP 8.0.0 öncesinde,
bir E_WARNING
uyarısı verilirdi.
Örnekler
Örnek 1 - print
örnekleri
<?php
print "print yaylı ayraçlar olmadan da çalışır.";
// Satırsonu veya boşluk eklemek gerekmez;
// aşağıdaki tek satırda "helloworld" çıktılar.
+print "hello";
+print "world";
print "Bu çok satırlı bir
dizge olup satırsonu karakterleri
de çıktılanır.";
print "Bu çok satırlı bir\ndizge olup satırsonu karakterleri\nde çıktılanır.";
print "Karakterlerin öncelenmesi böyle yapılır: \"Tıpkı böyle\".";
// Bağımsız değişken dizge üreten harhangi bir ifade olabilir
$bu = "Bu da";
print "$bu Buda"; // Bu da Buda
// Ayrıca dizileri de kullanabilirsiniz
$bar = array("değer" => "Buda");
print "Bu da {$bar['değer']} !"; // Bu da Buda !
// declare(strict_types=1) olsa bile dizge olmayan iadeler dizgeye zorlanır
print 6 * 7; // 42
// Tek tırnak içine alırsanız değişken basılır, değeri değil
print '$bu Buda'; // $bu Buda
// Başka karakter kullanmazsanız sadece değişkenin değeri basılır
print $bu; // Bu da
// print değer döndürdüğünden ifadelerde kullanılabilir
// Çıktısı: "hello world"
if ( print "hello" ) {
echo " world";
}
// Çıktısı: "true"
( 1 === 1 ) ? print 'true' : print 'false';
?>
Notlar
Bilginize:
Yaylı ayraçların kullanımı
print
deyiminin bağımsız değişkenini yaylı ayraçlar arasına
almak bir sözdizimi hatasına yol açmaz ve normal bir işlev çağrısı gibi
görünen bir sözdizimi de üretmez. Ancak bu yanlış anlaşılabilir, çünkü yaylı
ayraçlar aslında çıktılanacak ifadenin parçasıdır, print
deyimim parçası değildir.
<?php
print "hello";
// "hello" basar
print("hello");
// bu da "hello" basar, çünkü ("hello") geçerli bir ifadedir
print(1 + 2) * 3;
// "9" basar; yaylı ayraçlar sayesinde 1+2 önce yorumlanır, sonra da 3*3
// print deyimi ifadenin tümünü tek bir bağımsız değişken olarak görür
if ( print("hello") && false ) {
print " - inside if";
}
else {
print " - inside else";
}
// " - inside if" basar
// ("hello") && false ifadesi önce yorumlanır ve false ile sonuçlanır
// bu boş dizgeye zorlanır "" ve çıktılanır
// print deyimi 1 döndürür, böylece if bloğundaki kod çalıştırılır
?>
print
büyük bir ifade ile kullanılırken, anahtar sözcüğü
ve bağımsız değişkenini yaylı ayraçlar arasına almak istenen sonucu üretmek için
gerekli olabilir:
<?php
if ( (print "hello") && false ) {
print " - inside if";
}
else {
print " - inside else";
}
// "hello - inside else" basar
// önceki örneğin tersine (print "hello") ifadesi önce yorumlanır
// "hello" bastıktan sonra 1 döndürür
// 1 && false ifadesinin sonucu false olduğundan else bloğundaki kod çalıştırılır
print "hello " && print "world";
// "world1" basar; önce print "world" yorumanır,
// sonra soldaki print'e "hello " && 1 aktarılır
(print "hello ") && (print "world");
// "hello world" basar; ayraçlar print ifadelerinin
// &&'den önce yorumlanmasını sağlar
?>
Bilginize:
Bu bir işlev değil, dil oluşumu olduğundan
değişken işlevler veya
isimli bağımsız değişkenler
kullanılarak çağrılamaz.