У меня есть две функции PHP:

1. function banners($position){...
2. function banners($size){...

И хочу объединить их в одну функцию:

function banners($position, $size){...

Как я могу вызвать эту функцию, но игнорируя некоторые аргументы, например

banners('ignore me', 250);

banners('home', 'ignore me');

ignore me = give me all positions/sizes

php
0
qadenza 24 Апр 2017 в 10:44

2 ответа

Лучший ответ

@bonaca Надеюсь, вы захотите создать функцию, аналогичную приведенной ниже, поэтому просто присвойте аргументам значение по умолчанию, попробуйте ниже одного:

<?php
function banners($position = 'ignore me', $size = 'ignore me'){
    if($position == 'ignore me'){
        // do what every you want here
    }
    else{
        // passed parameter code here
    }


    if($size == 'ignore me'){
        // do what every you want here
    }
    else{
        // passed parameter code here
    }
}
banners('ignore me', 250);
banners('home', 'ignore me');
1
Vishal Solanki 24 Апр 2017 в 07:51

Просто добавьте что-то в аргумент 'required', например, null или другое значение по умолчанию. Что-то вроде этого:

function banners($position = null, $size = null)

Теперь аргумент из этой функции будет необязательным, поскольку этот аргумент имеет значение по умолчанию. Вы также можете жестко закодировать эти аргументы в своей функции. Подобно:

$position = ($position == null ? "Hard-coded position" : $position);
$size = ($position == null ? "Hard-coded size" : $size);
3
Variable 24 Апр 2017 в 08:06