Saya tahu ini adalah posting lama, tetapi saya mengalami masalah seperti OP dan inilah yang saya temukan.
Contoh larik yang bisa Anda lewati. Anda dapat memesan ulang ini jika pesanan tertentu diperlukan, tetapi untuk pertanyaan ini ini akan melakukan apa yang diminta.
$argument_set = array (8 => 'lots', 5 => 'of', 1 => 'data', 2 => 'here');
Ini dapat dikelola, mudah dibaca dan titik ekstraksi data dapat ditambahkan dan dihapus pada saat-saat tertentu di mana saja dalam pengkodean dan masih menghindari penulisan ulang besar-besaran. Saya menggunakan kunci integer untuk menghitung dengan pertanyaan asli OP tetapi kunci string dapat digunakan dengan mudah. Bahkan untuk keterbacaan saya akan menyarankannya.
Tempelkan ini di file eksternal untuk kemudahan
function unknown_number_arguments($argument_set) {
foreach ($argument_set as $key => $value) {
# create a switch with all the cases you need. as you loop the array
# keys only your submitted $keys values will be found with the switch.
switch ($key) {
case 1:
# do stuff with $value
break;
case 2:
# do stuff with $value;
break;
case 3:
# key 3 omitted, this wont execute
break;
case 5:
# do stuff with $value;
break;
case 8:
# do stuff with $value;
break;
default:
# no match from the array, do error logging?
break;
}
}
return;
}
letakkan ini di awal jika file tersebut.
$argument_set = array();
Cukup gunakan ini untuk menetapkan bagian data berikutnya menggunakan penomoran / penamaan sesuai dengan dari mana data itu berasal.
$argument_set[1][] = $some_variable;
Dan akhirnya lewati array
unknown_number_arguments($argument_set);