jQuery UI Автозаполнение начинается с

PHP 7.1 Теперь поддерживает возвращаемые значения nullable . Первый RFC, с которым я связан, - это тот, за которым они пошли:

function nullOrString(int $foo) : ?string
{
    return $foo%2 ? "odd" : null;
}

старый ответ:

Поскольку мой комментарий был фактически ответом на вопрос:

PHP 7 пока не поддерживает типы возвращаемых значений nullable, но есть RFC для решения именно этого, он стремится приземлиться в PHP 7.1. Если он пройдет, синтаксис будет влиять на все типы-подсказки (оба типа возврата и типы-подсказки):

public function returnStringOrNull(?array $optionalArray) : ?string
{
    if ($optionalArray) {
        return implode(', ', $optionalArray);//string returned here
    }
    return null;
}

Также есть конкурирующий RFC , чтобы добавить типы объединения, который мог бы сделать то же самое, но выглядел бы иначе:

public function returnStringOrNull(array|null $optionalArray) : string|null
{
    if ($optionalArray) {
        return implode(', ', $optionalArray);//string returned here
    }
    return null;
}

На данный момент вам нужно будет написать:

public function returnStringOrNull( array $optionalArray = null)
{
    if ($optionalArray) {
        return implode(', ', $optionalArray);
    }
}

Или просто вернуть пустую строку, которая должна соответствовать типу возврата, и проверить значение фальши:

public function returnStringOrNull( array $optionalArray = null) : string
{
    if ($optionalArray) {
        return implode(', ', $optionalArray);
    }
    return '';
}
//call
$string = $x->returnStringOrNull();
if (!$string) {
    $string = $x->returnStringOrNull(range(1, 10));
}

30
задан Bart 30 June 2010 в 10:07
поделиться

1 ответ

В настоящее время я сделал это таким образом, не уверен, есть ли лучшее решение:

source: function(request, response) {
    var filteredArray = $.map(orignalArray, function(item) {
        if( item.value.startsWith(request.term)){
            return item;
        }
        else{
            return null;
        }
    });
    response(filteredArray);
},

Этот подход также позволил установить ограничение (например, 10 элементов) на количество предметы для показа.

14
ответ дан 27 November 2019 в 20:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: