PHP
5
Вклад в тег
/**
* Retrieves an element within multidimensional array stored on any level by it's keys.
* @param array $data A multidimensional array with data
* @param array $keys A list of keys to element stored in $data
* @return null|mixed Returns null if elements is not found. Element's value otherwise.
*/
function getElement(array $data, array $keys)
{
/** перебираем ключи */
foreach($keys as $key) {
/**
* Если текущий элемент - массив, и в нём есть ключ, то текущий массив перезаписываем на новый.
* А если ключа такого нет или это не массив, то возвращаем null.
*/
if (is_array($data) && array_key_exists($key, $data)) {
$data = $data[$key];
} else {
return null;
}
}
return $data;
}
$data = [
'key1' => [
'key2' => [
'key3' => [
'value' => 123
]
]
]
];
echo getElement($data, ['key1', 'key2', 'key3', 'value']); // => 123
/**
* Retrieves an element within multidimensional array stored on any level by it's keys.
* @param array $data A multidimensional array with data
* @param string|array $keys A list of keys to element stored in $data as an array or a string with joined keys with a dot (.)
* @return null|mixed Returns null if elements is not found. Element's value otherwise.
*/
function getElement(array $data, $keys)
{
if (is_string($keys)) $keys = explode('.', $keys);
/** перебираем ключи */
foreach($keys as $key) {
/**
* Если текущий элемент - массив, и в нём есть ключ, то текущий массив перезаписываем на новый.
* А если ключа такого нет или это не массив, то возвращаем null.
*/
if (is_array($data) && array_key_exists($key, $data)) {
$data = $data[$key];
} else {
return null;
}
}
return $data;
}
echo getElement($data, 'key1.key2.key3.value'); // => 123
var_dump(\morphos\Russian\TimeSpeller::spellDifference('+123 minute'));
// либо unix timestamp
var_dump(\morphos\Russian\TimeSpeller::spellDifference(time() + 123*60+1));
// +1 нужно потому, что во время парсинга эта секунда "съедается"
$password = $mydb->real_escape_string($_SERVER['PHP_AUTH_PW']);
в этом нет необходимости и возможно принесёт ошибки, т.к. вы получаете пароль (в открытом виде, кстати, храните? не надо так) в исходном виде, и стоит сравнивать именно с тем, что передал пользователь.if ($password !== $pass['pass']){