Return Type Declarations
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 66 / 71.
Parametreler için türleri bildirebildiğiniz gibi, bir fonksiyonun döndürmesi gereken türü de belirtebilirsiniz. Dönüş türü bildirimleri, PHP'ye fonksiyonunuzun tam olarak hangi türde bir değer döndüreceğini söyler, bir fonksiyon yanlış türde bir değer döndürdüğünde hataları yakalamaya yardımcı olur.
Bir dönüş türü eklemek için, parametre listesinin kapanış parantezinden sonra bir iki nokta üst üste ve ardından türü yerleştirin:
<?php
function add(int $a, int $b): int {
return $a + $b;
}
echo add(5, 3);
?>Bu 8 çıktısını verir. Parantezlerden sonraki : int, bu fonksiyonun bir tamsayı döndürmesi gerektiğini belirtir. Eğer bunun yerine bir dize döndürmeye çalışsaydınız, PHP bir hata üretirdi.
Parametre bildirimlerinde kullanılan aynı türleri kullanabilirsiniz: int, float, string, bool, ve array. Ayrıca hiçbir şey döndürmeyen fonksiyonlar için void adlı özel bir tür de vardır:
<?php
function sayHello(string $name): void {
echo "Hello, $name!\n";
}
sayHello("Alice");
?>Bir void fonksiyonu, bir değer içeren return ifadesine sahip olamaz. Parametre tiplerini dönüş tipleriyle birleştirmek, fonksiyonlarınızı kendi kendini belgeleyen hale getirir—kodu okuyan herkes hemen neyin girdiğini ve neyin çıktığını bilir.
Görev
Kolayİki satır giriş oku:
- Ondalık sayı olarak bir fiyat (örneğin,
49.99) - Tam sayı olarak bir indirim yüzdesi (örneğin,
20)
calculateFinalPrice adında bir fonksiyon oluşturun ki iki parametreyi tip bildirimleriyle kabul etsin:
$priceolarakfloat$discountPercentolarakint
Fonksiyon float dönüş tipi bildirimi olmalı ve indirim uygulandıktan sonraki nihai fiyatı döndürmeli.
Fonksiyonu giriş değerleriyle çağırın ve döndürülen sonucu yazdırın.
Örnek 1:
Eğer girişler 100.00 ve 25 ise, çıktı şu olmalı:
75Örnek 2:
Eğer girişler 49.99 ve 10 ise, çıktı şu olmalı:
44.991Örnek 3:
Eğer girişler 200.50 ve 50 ise, çıktı şu olmalı:
100.25Kendin dene
<?php
// Girdi oku
$price = floatval(fgets(STDIN));
$discountPercent = intval(fgets(STDIN));
// TODO: calculateFinalPrice adında bir fonksiyon oluşturun:
// - $price parametresi float tip bildirimi ile
// - $discountPercent parametresi int tip bildirimi ile
// - float dönüş tipi bildirimi
// Fonksiyon indirimi uyguladıktan sonra nihai fiyatı döndürmelidir
// Fonksiyonu çağırın ve sonucu yazdırın
echo calculateFinalPrice($price, $discountPercent);
?>Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators