Çfarë është PHP Null Coalescing? Çfarë dhe si përdoret? Ne do t'i mësojmë këto në këtë mësim.

Operatori PHP Null Coalescing u prezantua në PHP 7. Operatori PHP Null Coalescing lejon caktimin e të dhënave me kusht. Nëse operandi i parë ekziston dhe nuk është null, ai kthen operandin e parë, përndryshe kthen operandin e dytë.

Shembuj të bashkimit të PHP Null

// Örnek 1: 
echo $name = $_POST['name'] ?? 'nobody';
// Çıktı: nobody
// Örnek 1.1
if (isset($_POST['name'])) {
    echo $name = $_POST['name'];
} else {
    echo $name = 'nobody';
}
// Çıktı: nobody
// Örnek 1.2
echo $name = isset($_POST['name']) ? $_POST['name'] : 'nobody';
// Çıktı: nobody

Në shembullin 1, duke qenë se nuk kishte të dhëna postimi me emër, vlera askush nuk iu caktua ndryshores $name dhe ajo u printua. Shembulli 1 është një version i shkurtuar i Shembujve 1.1 dhe 1.2 me operatorin PHP Null Coalescing. Të dy japin të njëjtin rezultat dhe kanë të njëjtin kuptim.

// Örnek 2
$first_name = 'Onur';
$last_name = null;
echo ($first_name ?? 'Ad Yok') . ' ' . ($last_name ?? 'Soyad Yok');?> 
// Çıktı: Onur Soyad Yok

Në shembullin 2, duke qenë se ndryshorja $first_name ka të dhëna, ajo e ktheu variablin në kushtin e parë. Megjithatë, duke qenë se ndryshorja $last_name ishte null, ai ktheu operandin e dytë në kushtin e dytë dhe printoi fjalinë 'Pa Mbiemër'.

Zinxhiri i Operatorit Bashkim Null PHP

Mund të përdorim operatorin PHP Null Coalescing duke e lidhur me zinxhir.

// Örnek 3
echo $name = $_GET['name'] ?? $_POST['name'] ?? 'nobody';
// Çıktı: nobody
// Örnek 3.1
if (isset($_GET['name'])) {
    echo $name = $_GET['name'];
} elseif (isset($_POST['name'])) {
    echo $name = $_POST['name'];
} else {
    echo $name = 'nobody';
}
// Çıktı: nobody

Në shembullin 3, PHP ia cakton të dhënat $_GET['name'] variablit $name dhe i printon nëse është përcaktuar $_GET['name']. Nëse nuk është i përcaktuar, kontrolloni variablin $_POST'name'], nëse është përcaktuar $_POST'name'], ai hedh dhe printon, nëse jo, i hedh dhe i printon të dhënat 'askush'. Shembulli 3.1 jep të njëjtin rezultat si shembulli 3 dhe ka të njëjtin kuptim. Shembulli 3.1 është një version më i gjatë i Shembullit 3, i koduar me deklaratën e kushtëzuar if-elseif-else. Shembulli 3 është një version i shkurtër i koduar me PHP Null Coalescing.