Я хочу сравнить два массива, один установлен по умолчанию, а другой вводится пользователем.
Когда я установил логическое значение только по умолчанию, я хочу убедиться, что пользователь не будет использовать строку или число. например, «truex» или «1» неприемлемы.
Ниже мой пример кода,
$default = array(
"randomise" => false,
"id" => null
);
$config = array(
"randomise" => truex
);
function process_array($default,$config)
{
# Loop the array.
foreach($default as $key => $value)
{
if ((filter_var($default[$key], FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) === NULL) && (filter_var($config[$key], FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) === NULL))
{
return 'true or false only';
}
}
# Return the result.
return $array;
}
print_r(process_array($default,$config));
но этот код возвращает только «истина или ложь», даже если пользователь указывает правильный тип данных. Как я могу это исправить?