PHP, böyle bir özelliği vardır mı?
Bu işlevleri kullanabilirsiniz:
Example:
function my_sum() { // <--- No parameters! :D
$total = func_num_args();
$numbers = func_get_args();
if ($total < 1) {
trigger_error('Less than one number :(');
return 0;
} else {
// Calculate the sum
$sum = array_sum($numbers);
return ($sum / $total);
}
}
// Usage:
echo my_sum(1, 2, 5, 109, 10231);
?>
Tabii, hiçbir parametre içermeyen bir işlevi yapmak, ne istersen onu aramak, ve fonksiyon kullanımı içindeki func_get_args() gerçek argümanları almak için.
Prehaps a better way is to pass one argument, that is actually an array of arguments. eg:
function my_sum($data){
$sum = 0;
foreach($sum as $value){
$sum+=$value;
}
return $sum;
}
echo my_sum(array(1, 2, 5, 109, 10231));
I often use an associative array to pass arguments to a function. This is very usefull if the arguments being submitted are optional, or change in nature. eg:
$data = array(
'date' => '10/4/06',
'name' => 'biggles',
'occupation' => 'pilot'
);
add_person($data);
Bu aynı zamanda daha iyi hata tespiti için izin verir. Eğer çok çok argüman varsa, bu yanlış sırayla onları almak için oldukça mümkündür. genişletmek veya teh işlevini değiştirmek eğer artı mevcut kodu ile çalışmaya devam etmek daha olasıdır.