Попробуйте изменить {% assign variable = site.variables | where "someval", "true" %}
на {% assign variable = site.variables | where: "someval", "true" %}
.
Кроме того, это не похоже, что variable
является опцией в соответствии с docs . Если вы хотите передать больше информации, вам нужно использовать что-то вроде site.data
или информации, определенной в вашем инициализаторе jekyll (обычно называемом _config.yml
).
Ваша функция не работает правильно, когда пара чисел включает первый элемент массива. Вы используете:
if ($collection[$subtracted])
, чтобы проверить, является ли $subtracted
ключом массива. Но если значение $collection[$subtracted]
равно 0
, это также не пройдёт тест if
. Измените это на:
if (isset($collection[$subtracted]))
Вы также должны добавить:
return array();
после цикла for
, чтобы он возвращал пустой массив по умолчанию, если не найдено соответствующих элементов.
function twoSum($nums, $target) {
$collection = array();
foreach($nums as $key => $num) {
$subtracted = $target - $num;
if (isset($collection[$subtracted])) {
return array($collection[$subtracted], $key);
} else {
$collection[$num] = $key;
}
}
return array();
}