(N bilinmiyor)
$ Controller-> $ action ($ params);
olmalıdır
$ Controller-> $ action ($ param1, $ param2, $ param3 ... $ paramN);
Ne istediğinizi gerçekten emin değil, ama sen kullanabileceğiniz parametrelerin sayısı bilinmeyen bir yöntemi çağırmak istiyorsanız call_user_func_array()
a>
örneğin:
$result = call_user_func_array(array($controller, $action), $params);
hangi gibi bir dizi verilmiştir:
array(1, 2, 'a');
Bu eşdeğer olacaktır:
$result = $controller->$action(1, 2, 'a');
Aşağıdaki gibi bir şey yaparak böyle bir dizi inşa edebileceğini, ama ilk etapta bir dizi kullanmak için daha iyi olacağını düşünüyorum
$param1 = 'Something';
$param2 = 'Test';
$j = 1;
$params = array();
while (isset(${'param' . $j})) {
$params[] = ${'param' . $j};
$j++;
}
print_r($params);
//will output
Array
(
[0] => Something
[1] => Test
)
PHP çok esnek bir dizi kullanır. Onlara herhangi bir veri türlerini koyabilirsiniz. Bu N parametrelerinin ihtiyacı devre dışı bırakır. Sadece tüm unsurların (parametreler) ile parametre ve döngü gibi bir dizi kullanın.
Eğer parametre olarak karışık türlerini kullanmak Eğer döngü içinde değişkenler gettype ($ var) işlevini kullanarak ne tür kontrol edebilir.
<?php
$params = Array($param1, $param2, $paramN);
$controller->$action($params)
?>