science-ation/helper.inc.php

75 lines
2.1 KiB
PHP

<?
function get_value_from_session(string $key, mixed $default = null): mixed
{
return isset($_SESSION[$key]) ? $_SESSION[$key] : $default;
}
function get_value_from_array(mixed $ar, string $key, mixed $default = null): mixed
{
if (is_array($ar)) {
return isset($ar[$key]) ? $ar[$key] : $default;
} else {
return $default;
}
}
function get_value_from_2d_array(array $ar, string $key1, string $key2, mixed $default = null): mixed
{
return isset($ar[$key1][$key2]) ? $ar[$key1][$key2] : $default;
}
function get_value_from_3d_array(array $ar, string $key1, string $key2, string $key3, mixed $default = null): mixed
{
return isset($ar[$key1][$key2][$key3]) ? $ar[$key1][$key2][$key3] : $default;
}
function get_value(mixed $var): mixed
{
return isset($var) ? $var : null;
}
function get_value_or_default(mixed $var, mixed $default = null): mixed
{
return $var && isset($var) ? $var : $default;
}
function get_value_property_or_default(mixed $var, mixed $property, mixed $default = null): mixed
{
return $var && isset($var->$property) ? $var->$property : $default;
}
function show_pdo_errors_if_any($pdo)
{ // Check for errors after the query execution
$errorInfo = $pdo->errorInfo();
if ($errorInfo[0] != '00000') {
// If there's an error (the SQLSTATE isn't '00000', which means no error)
echo 'Error: ' . $errorInfo[2]; // The third element contains the error message
}
}
function check_for_pdo_errors($pdo)
{
$errorInfo = $pdo->errorInfo();
if ($errorInfo[0] != '00000')
return true;
else
return false;
}
function add_or_initialize(mixed $ar, mixed $key, mixed $increment = 1, mixed $initial = 0): mixed
{
return isset($ar[$key]) ? ($ar[$key] += $increment) : $initial;
}
function add_or_initialize_multi_2(mixed $ar, mixed $key1, mixed $key2, mixed $increment = 1, mixed $initial = 0): mixed
{
return isset($ar[$key1][$key2]) ? ($ar[$key1][$key2] += $increment) : $initial;
}
function add_or_initialize_multi_3(mixed $ar, mixed $key1, mixed $key2, mixed $key3, mixed $increment = 1, mixed $initial = 0): mixed
{
return isset($ar[$key1][$key2][$key3]) ? ($ar[$key1][$key2][$key3] += $increment) : $initial;
}
?>