Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah sekatan ke atas nilai pulangan fungsi PHP?

Apakah sekatan ke atas nilai pulangan fungsi PHP?

王林
王林asal
2024-04-16 12:15:01637semak imbas

Nilai pulangan fungsi PHP boleh menjadi jenis skalar, komposit atau sumber, tetapi ia hanya boleh mengembalikan satu nilai. Nilai pulangan jenis skalar dipaksa kepada jenis skalar Fungsi void tidak boleh mengembalikan sebarang nilai.

PHP 函数的返回值有什么限制?

Sekatan nilai pulangan fungsi PHP

Nilai pulangan fungsi PHP boleh menjadi sebarang jenis data, termasuk:

  • Jenis skalar (seperti int, float, rentetan, bool, null)
  • jenis Composite seperti tatasusunan , objek)
  • Jenis sumber (seperti penuding fail, pautan pangkalan data)

Walau bagaimanapun, terdapat beberapa sekatan pada jenis nilai pulangan:

  • Sesuatu fungsi hanya boleh mengembalikan satu nilai.
  • Nilai pengembalian jenis skalar dibuang ke jenis skalar, walaupun jika fungsi mengembalikan jenis komposit (seperti tatasusunan atau objek).
  • Jika fungsi diisytiharkan untuk mengembalikan batal, ia tidak boleh mengembalikan sebarang nilai.

Kes praktikal:

Fungsi berikut diisytiharkan untuk mengembalikan integer:

function sum($a, $b): int
{
    return $a + $b;
}

Fungsi ini menerima dua parameter dan mengembalikan jumlahnya. Jika anda cuba mengembalikan rentetan atau tatasusunan, pengkompil akan melaporkan ralat:

// 编译器错误
function sum($a, $b): string
{
    return $a + $b;
}

Nota:

  • Jika fungsi diisytiharkan untuk mengembalikan batal, ia tidak sepatutnya mengembalikan sebarang nilai walaupun dengan pernyataan return. Melakukannya boleh mengakibatkan tingkah laku yang tidak dapat diramalkan.
  • Jika fungsi tidak mengisytiharkan sebarang jenis nilai pulangan, PHP akan menganggap bahawa ia mengembalikan tidak sah.

Atas ialah kandungan terperinci Apakah sekatan ke atas nilai pulangan fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn