Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah pernyataan pulangan dalam PHP mengembalikan tatasusunan?

Bolehkah pernyataan pulangan dalam PHP mengembalikan tatasusunan?

PHPz
PHPzasal
2023-04-23 16:43:501583semak imbas

Dalam pembangunan PHP, kami sering menggunakan fungsi untuk melaksanakan beberapa fungsi tertentu. Di dalam fungsi, kita mungkin perlu mengembalikan berbilang nilai, dalam hal ini kita perlu menggunakan tatasusunan untuk mengembalikannya secara seragam. Jadi persoalannya, bolehkah pernyataan pulangan dalam PHP mengembalikan tatasusunan? Jawapannya ya.

Dalam PHP, pernyataan pulangan boleh mengembalikan sama ada nilai atau tatasusunan. Mari kita lihat cara mengembalikan tatasusunan.

Kembalikan tatasusunan indeks

Dalam PHP, jenis tatasusunan yang paling biasa ialah tatasusunan indeks, yang menggunakan nombor sebagai nilai utama elemen. Untuk menggunakan tatasusunan indeks sebagai nilai pulangan fungsi, hanya kembalikan nama tatasusunan terus dalam penyata pulangan.

function getSquares($arr){
    $squares = [];
    foreach ($arr as $value) {
        array_push($squares, $value * $value);
    }
    return $squares;
}

$nums = [1, 2, 3, 4, 5];
$squares = getSquares($nums);
print_r($squares); // Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )

Dalam contoh di atas, kami menentukan fungsi getSquares() yang menerima parameter tatasusunan dan mengembalikan tatasusunan baharu yang menyimpan nilai segi empat sama bagi setiap elemen dalam tatasusunan yang diluluskan. Gelung foreach digunakan di dalam fungsi untuk melintasi tatasusunan yang dilalui dan menyimpan nilai segi empat sama setiap elemen dalam tatasusunan baru $squares. Akhir sekali, kami mengembalikan tatasusunan $squares sebagai nilai pulangan fungsi.

Dalam program utama, kami mentakrifkan tatasusunan $nums, yang menyimpan lima nombor dari 1 hingga 5. Kami memanggil fungsi getSquares() dan memasukkan tatasusunan $nums sebagai parameter Tatasusunan $squares yang terhasil ialah tatasusunan baharu yang terdiri daripada nilai segi empat sama setiap elemen. Menggunakan fungsi print_r() untuk mencetak tatasusunan $squares, kita dapat melihat bahawa unsur-unsurnya sepadan dengan nilai segi empat sama unsur-unsur yang sepadan dengan tatasusunan asal $nums.

Kembalikan tatasusunan bersekutu

Selain mengembalikan tatasusunan indeks, pernyataan pulangan dalam PHP juga boleh mengembalikan satu lagi jenis tatasusunan biasa, tatasusunan bersekutu. Dalam tatasusunan bersekutu, kami menggunakan nilai kunci rentetan untuk mengindeks elemen tatasusunan. Begitu juga, untuk menggunakan tatasusunan bersekutu sebagai nilai pulangan fungsi, anda hanya perlu mengembalikan nama tatasusunan secara terus dalam pernyataan pulangan.

function getUserInfo($name){
    $user = [
        'name' => $name,
        'age' => 25,
        'gender' => 'male'
    ];
    return $user;
}

$userInfo = getUserInfo('Tom');
print_r($userInfo); // Array ( [name] => Tom [age] => 25 [gender] => male )

Dalam contoh di atas, kami menentukan fungsi getUserInfo(), yang menerima parameter $name jenis rentetan dan mengembalikan tatasusunan bersekutu yang menyimpan maklumat yang berkaitan dengan pengguna Termasuk $name, $age dan $jantina. Di dalam fungsi, tatasusunan $user pertama kali ditakrifkan dan tiga maklumat di atas disimpan di dalamnya. Akhir sekali, kami mengembalikan tatasusunan $user sebagai nilai pulangan fungsi.

Dalam program utama, kami memanggil fungsi getUserInfo() dan lulus 'Tom' sebagai parameter. Tatasusunan $userInfo yang diperolehi ialah maklumat pengguna yang berkaitan. Dengan mencetak tatasusunan $userInfo dengan fungsi print_r(), kita dapat melihat bahawa nilai kunci yang sepadan dengan setiap maklumat dipaparkan dengan betul.

Kembalikan tatasusunan berbilang dimensi

Tatasusunan dalam PHP juga menyokong tatasusunan berbilang dimensi, iaitu tatasusunan mengandungi tatasusunan. Sama seperti dua kes pertama, anda hanya perlu mengembalikan tatasusunan berbilang dimensi secara keseluruhan dalam pernyataan pulangan.

function getStudents(){
    $students = [
        [
            'name' => 'Tom',
            'score' => 90
        ],
        [
            'name' => 'Jerry',
            'score' => 80
        ]
    ];
    return $students;
}

$students = getStudents();
print_r($students); 
/* Array ( 
       [0] => Array ( [name] => Tom [score] => 90 ) 
       [1] => Array ( [name] => Jerry [score] => 80 ) 
    ) 
*/

Dalam contoh di atas, kami menentukan fungsi getStudents(), yang mengembalikan tatasusunan berbilang dimensi yang mengandungi maklumat tentang dua pelajar Setiap pelajar diwakili oleh tatasusunan bersekutu, di mana Termasuk 'nama' dan 'skor ' dua maklumat. Di dalam fungsi, tatasusunan $pelajar pertama kali ditakrifkan sebagai keseluruhan, di mana setiap elemen adalah maklumat pelajar. Akhir sekali, kami mengembalikan tatasusunan $students sebagai nilai pulangan bagi fungsi tersebut.

Dalam atur cara utama, kami memanggil fungsi getStudents() dan mencetak tatasusunan $pelajar yang dikembalikan Anda boleh melihat bahawa ia mengandungi dua subtatasusunan, setiap subtatasusunan mengandungi maklumat tentang pelajar.

Ringkasan

Dalam tiga kes di atas, kami berjaya mengembalikan nilai jenis tatasusunan. Dalam PHP, pernyataan pulangan boleh mengembalikan jenis nilai yang berbeza, termasuk jenis tatasusunan. Apabila fungsi perlu mengembalikan berbilang nilai, kita boleh menggunakan tatasusunan untuk mengembalikannya secara seragam. Apabila menggunakan tatasusunan sebagai nilai pulangan fungsi, anda perlu memastikan bahawa nilai utama dan jenis elemen tatasusunan adalah konsisten dengan hasil jangkaan atur cara.

Atas ialah kandungan terperinci Bolehkah pernyataan pulangan dalam PHP mengembalikan tatasusunan?. 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