Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk mengembalikan berbilang nilai daripada satu fungsi PHP

Bagaimana untuk mengembalikan berbilang nilai daripada satu fungsi PHP

Aug 27, 2023 pm 02:05 PM
fungsi php Kembalikan berbilang nilai

Bagaimana untuk mengembalikan berbilang nilai daripada satu fungsi PHP

Kami terutamanya menggunakan parameter fungsi untuk mendapatkan data luaran di dalam fungsi untuk pemprosesan selanjutnya. Begitu juga, kami mengembalikan nilai daripada fungsi PHP untuk mengakses data yang diproses di luar fungsi. Anda boleh menentukan fungsi dalam PHP dengan atau tanpa nilai pulangan.

Walaupun fungsi dalam PHP boleh mempunyai berbilang parameter, adalah mustahil untuk mempunyai berbilang penyataan pulangan. Dalam tutorial ini, saya akan menunjukkan kepada anda bagaimana untuk mengembalikan berbilang nilai daripada fungsi dalam PHP.

  • Kembalikan penyata dalam PHP
  • Gunakan tatasusunan untuk mengembalikan berbilang nilai
  • Gunakan objek untuk mengembalikan berbilang nilai

Kembalikan penyata dalam PHP

Fungsi dalam PHP boleh mempunyai pernyataan return pilihan. Apabila dipanggil dari dalam fungsi, pernyataan pemulangan serta-merta menghentikan pelaksanaan sebarang kod selanjutnya. Ini juga termasuk penyata pulangan lain. Berikut adalah contoh: return 语句。当从函数内部调用时,返回语句会立即停止任何进一步代码的执行。这还包括其他返回语句。这是一个例子:

<?php

function multiple_returns($a, $b) {
    $x = 2*$a;
    $y = 3*$b;

    return $x;

    if($y%3 == 0) {
        echo "Y is: ".$y;
    }

    return $y;
}

$m = 0;
$n = 0;

$m = multiple_returns(5, 18);

// list($m, $n) = multiple_returns(5, 18);

// Outputs: Values are: 10 and 0
echo "Values are: ".$m." and ".$n;

?>

Salin selepas log masuk

请注意,运行上述代码不会回显有关 $y 值的语句。这是因为函数在第一个 return 语句后停止执行。如果取消注释我们使用 list() 分配变量值的行,则 $m$n 都将是 NULL 因为 list() 仅适用于数组,并且该函数仅返回一个数字。

使用数组返回多个值

我们知道 return 语句可以返回任何类型的值。因此,我们还可以使用它返回一个数组,其中包含我们实际想要返回的所有值。我们可以将上面的示例重写如下以返回多个值:

<?php

function multiple_returns($a, $b) {
    $x = 2*$a;
    $y = 3*$b;

    return [$x, $y];
}

list($m, $n) = multiple_returns(5, 18);

// Outputs: Values are: 10 and 54
echo "Values are: ".$m." and ".$n;

?>
Salin selepas log masuk

从 PHP 的角度来看,您仍然返回单个值,但该单个值是一个可以包含多个其他值的数组。这是 PHP 中模拟函数返回多个值的最简单方法之一。

在上面的示例中,我们仅返回两个值。但是,当涉及更多值时,事情可能会变得有点棘手,因为您必须记住返回值的正确顺序。

从 PHP 7.1 开始,您可以将 list() 与关联数组一起使用。这意味着返回元素的顺序不会影响分配的值。这是一个例子:

<?php

function multiple_returns($a, $b) {
    $x = 2*$a;
    $y = 3*$b;

    return ['m' => $x, 'n' => $y];
}

list('m' => $m, 'n' => $n) = multiple_returns(5, 18);

// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;

list('n' => $n, 'm' => $m) = multiple_returns(5, 18);

// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;

?>
Salin selepas log masuk

您可以看到变量 $m$n 在两种情况下都获得相同的值,因为现在是根据键而不是数字索引来分配值。

从 PHP 7.1 开始,您甚至不需要使用 list()

<?php

function multiple_returns($a, $b) {
    $x = 2*$a;
    $y = 3*$b;

    return ['m' => $x, 'n' => $y];
}

['m' => $m, 'n' => $n] = multiple_returns(5, 18);

// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;

['n' => $n, 'm' => $m] = multiple_returns(5, 18);

// Values are: 10 and 54
echo "Values are: ".$m." and ".$n;

?>
Salin selepas log masuk

Sila ambil perhatian bahawa menjalankan kod di atas tidak akan menggemakan pernyataan tentang nilai $y. Ini kerana fungsi berhenti melaksanakan selepas penyataan pulangan pertama. Jika anda menyahtanda baris yang kami gunakan list() untuk menetapkan nilai pembolehubah, kedua-dua $m dan $n akan menjadi NULL code> Kerana list() hanya berfungsi dengan tatasusunan dan fungsi hanya mengembalikan nombor.

Kembalikan berbilang nilai menggunakan tatasusunan

Kami tahu bahawa penyata pulangan boleh mengembalikan sebarang jenis nilai. Jadi kita juga boleh menggunakan ini untuk mengembalikan tatasusunan yang mengandungi semua nilai yang sebenarnya kita mahu pulangkan. Kita boleh menulis semula contoh di atas seperti berikut untuk mengembalikan berbilang nilai:

<?php

class ValueStore {
    public $m;
    public $n;
}

function multiple_returns_class($a, $b) {

    $my_values = new ValueStore();
    $my_values->m = 2*$a;
    $my_values->n = 3*$b;

    return $my_values;
}

$values = multiple_returns_class(5, 18);

// Values are: 10 and 54
echo "Values are: ".$values->m." and ".$values->n;

?>
Salin selepas log masuk
Dari perspektif PHP, anda masih mengembalikan satu nilai, tetapi nilai tunggal itu ialah tatasusunan yang boleh mengandungi berbilang nilai lain. Ini adalah salah satu cara paling mudah untuk mensimulasikan fungsi yang mengembalikan berbilang nilai dalam PHP.

Dalam contoh di atas, kami hanya mengembalikan dua nilai. Walau bagaimanapun, apabila lebih banyak nilai terlibat, keadaan boleh menjadi lebih rumit kerana anda perlu mengingati susunan nilai pulangan yang betul.

Bermula dalam PHP 7.1, anda boleh menggunakan list() dengan tatasusunan bersekutu. Ini bermakna bahawa susunan elemen dikembalikan tidak menjejaskan nilai yang diberikan. Berikut adalah contoh: 🎜 rrreee 🎜Anda dapat melihat bahawa pembolehubah $m dan $n mendapat nilai yang sama dalam kedua-dua kes kerana kini nilai ditetapkan berdasarkan kunci dan bukannya indeks berangka. 🎜 🎜Bermula dengan PHP 7.1, anda tidak perlu menggunakan list() kerana PHP kini menyokong sintaks pemusnahan. Kita boleh menulis semula contoh sebelumnya sebagai: 🎜 rrreee 🎜 Kembalikan berbilang nilai menggunakan objek🎜 🎜Cara lain untuk mengembalikan berbilang nilai daripada fungsi PHP adalah dengan mengembalikan objek. Kita boleh menentukan kelas dengan sifat yang berbeza menggunakan pembolehubah ahli awam. Satu kelemahan teknik ini ialah anda perlu menulis lebih banyak kod, jadi ia akan menggunakan lebih banyak memori untuk menyimpan berbilang contoh kelas. Kelebihannya ialah anda boleh menggunakan set pembolehubah yang sama di beberapa tempat. 🎜 rrreee 🎜Seperti yang anda lihat, kita boleh berjaya mendapatkan berbilang nilai daripada fungsi hanya dengan mencipta objek dan memberikan nilai kepada pelbagai sifatnya. 🎜 🎜 Fikiran akhir 🎜 🎜Dalam tutorial ini, anda mengetahui bahawa PHP tidak membenarkan anda mengembalikan berbilang nilai secara terus daripada fungsi. Walau bagaimanapun, anda boleh mengatasi had ini dengan membungkus berbilang nilai ke dalam tatasusunan atau objek. Selepas itu anda hanya mengembalikan tatasusunan atau objek daripada fungsi dan mengakses nilai. 🎜

Atas ialah kandungan terperinci Bagaimana untuk mengembalikan berbilang nilai daripada satu fungsi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengoptimumkan kesan pemuatan malas imej melalui fungsi php? Bagaimana untuk mengoptimumkan kesan pemuatan malas imej melalui fungsi php? Oct 05, 2023 pm 12:13 PM

Bagaimana untuk mengoptimumkan kesan pemuatan malas imej melalui fungsi PHP? Dengan perkembangan Internet, bilangan imej dalam halaman web semakin meningkat, yang memberi tekanan pada kelajuan memuatkan halaman. Untuk meningkatkan pengalaman pengguna dan mengurangkan masa pemuatan, kami boleh menggunakan teknologi pemuatan malas imej. Memuatkan imej yang malas boleh melambatkan pemuatan imej hanya dimuatkan apabila pengguna menatal ke kawasan yang boleh dilihat, yang boleh mengurangkan masa memuatkan halaman dan meningkatkan pengalaman pengguna. Apabila menulis halaman web PHP, kita boleh mengoptimumkan kesan pemuatan malas imej dengan menulis beberapa fungsi. Butiran di bawah

Bagaimana untuk mengurangkan penggunaan memori melalui fungsi php? Bagaimana untuk mengurangkan penggunaan memori melalui fungsi php? Oct 05, 2023 pm 01:45 PM

Bagaimana untuk mengurangkan penggunaan memori melalui fungsi PHP Dalam pembangunan, penggunaan memori adalah pertimbangan yang sangat penting. Jika sejumlah besar memori digunakan dalam atur cara, ia boleh menyebabkan kelembapan atau malah ranap program. Oleh itu, mengurus dan mengurangkan penggunaan memori secara munasabah adalah isu yang perlu diberi perhatian oleh setiap pembangun PHP. Artikel ini akan memperkenalkan beberapa kaedah untuk mengurangkan penggunaan memori melalui fungsi PHP, dan menyediakan contoh kod khusus untuk rujukan pembaca. Gunakan fungsi unset() untuk melepaskan pembolehubah dalam PHP Apabila pembolehubah tidak diperlukan lagi, gunakan

PHP Dihentikan: Fungsi ereg_replace() ditamatkan - Penyelesaian PHP Dihentikan: Fungsi ereg_replace() ditamatkan - Penyelesaian Aug 18, 2023 am 10:48 AM

PHPDeprecated: Functionereg_replace()isdeprecated-Solution Apabila membangun dalam PHP, kita sering menghadapi masalah beberapa fungsi yang diisytiharkan tidak digunakan. Ini bermakna dalam versi PHP terkini, fungsi ini boleh dialih keluar atau diganti. Satu contoh biasa ialah fungsi ereg_replace(). ereg_replace

Persamaan dan perbezaan antara fungsi PHP dan fungsi Flutter Persamaan dan perbezaan antara fungsi PHP dan fungsi Flutter Apr 24, 2024 pm 01:12 PM

Perbezaan utama antara fungsi PHP dan Flutter ialah pengisytiharan, sintaks dan jenis pulangan. Fungsi PHP menggunakan penukaran jenis pulangan tersirat, manakala fungsi Flutter secara eksplisit menentukan jenis pulangan boleh menentukan parameter pilihan melalui ?, manakala fungsi Flutter menggunakan diperlukan dan [] untuk menentukan parameter yang diperlukan dan pilihan menggunakan = untuk lulus Parameter penamaan; Fungsi flutter menggunakan {} untuk menentukan parameter yang dinamakan.

Pengenalan kepada fungsi PHP: fungsi strtr(). Pengenalan kepada fungsi PHP: fungsi strtr(). Nov 03, 2023 pm 12:15 PM

Pengenalan fungsi PHP: fungsi strtr() Dalam pengaturcaraan PHP, fungsi strtr() ialah fungsi penggantian rentetan yang sangat berguna. Ia digunakan untuk menggantikan aksara atau rentetan tertentu dalam rentetan dengan aksara atau rentetan lain. Artikel ini akan memperkenalkan penggunaan fungsi strtr() dan memberikan beberapa contoh kod khusus. Sintaks asas fungsi strtr() adalah seperti berikut: strtr(string$str, array$replace) dengan $str ialah perkataan asal yang akan diganti.

Sejauh manakah prestasi fungsi PHP? Sejauh manakah prestasi fungsi PHP? Apr 18, 2024 pm 06:45 PM

Prestasi fungsi PHP yang berbeza adalah penting untuk kecekapan aplikasi. Fungsi dengan prestasi yang lebih baik termasuk gema dan cetakan, manakala fungsi seperti str_replace, array_merge dan file_get_contents mempunyai prestasi yang lebih perlahan. Sebagai contoh, fungsi str_replace digunakan untuk menggantikan rentetan dan mempunyai prestasi sederhana, manakala fungsi sprintf digunakan untuk memformat rentetan. Analisis prestasi menunjukkan bahawa ia hanya mengambil masa 0.05 milisaat untuk melaksanakan satu contoh, membuktikan bahawa fungsi berfungsi dengan baik. Oleh itu, menggunakan fungsi dengan bijak boleh membawa kepada aplikasi yang lebih pantas dan cekap.

Ringkasan kaedah untuk melaksanakan fungsi penyuntingan dan pemprosesan imej menggunakan fungsi pemprosesan imej PHP Ringkasan kaedah untuk melaksanakan fungsi penyuntingan dan pemprosesan imej menggunakan fungsi pemprosesan imej PHP Nov 20, 2023 pm 12:31 PM

Fungsi pemprosesan imej PHP ialah satu set fungsi yang khusus digunakan untuk memproses dan mengedit imej Ia menyediakan pembangun dengan fungsi pemprosesan imej yang kaya. Melalui fungsi ini, pembangun boleh melaksanakan operasi seperti pemangkasan, penskalaan, putaran dan penambahan tera air pada imej untuk memenuhi keperluan pemprosesan imej yang berbeza. Pertama, saya akan memperkenalkan cara menggunakan fungsi pemprosesan imej PHP untuk mencapai fungsi pemangkasan imej. PHP menyediakan fungsi imagecrop(), yang boleh digunakan untuk memangkas imej. Dengan melepasi koordinat dan saiz kawasan pemangkasan, kita boleh memangkas imej

Membandingkan fungsi PHP dengan fungsi dalam bahasa lain Membandingkan fungsi PHP dengan fungsi dalam bahasa lain Apr 10, 2024 am 10:03 AM

Fungsi PHP mempunyai persamaan dengan fungsi dalam bahasa lain, tetapi juga mempunyai beberapa ciri unik. Secara sintaksis, fungsi PHP diisytiharkan dengan fungsi, JavaScript diisytiharkan dengan fungsi, dan Python diisytiharkan dengan def. Dari segi parameter dan nilai pulangan, fungsi PHP menerima parameter dan mengembalikan nilai JavaScript dan Python juga mempunyai fungsi yang serupa, tetapi sintaksnya berbeza. Dari segi skop, fungsi dalam PHP, JavaScript dan Python semuanya mempunyai skop global atau tempatan Fungsi global boleh diakses dari mana-mana sahaja, dan fungsi tempatan hanya boleh diakses dalam skop pengisytiharan mereka.

See all articles