не могу понять логику кода из opencart 2, ...
class Request {
public $get = array();
public $post = array();
public $cookie = array();
public $files = array();
public $server = array();
public function __construct() {
$this->get = $this->clean($_GET);
$this->post = $this->clean($_POST);
$this->request = $this->clean($_REQUEST);
$this->cookie = $this->clean($_COOKIE);
$this->files = $this->clean($_FILES);
$this->server = $this->clean($_SERVER);
}
public function clean($data) {
if (is_array($data)) {
foreach ($data as $key => $value) {
unset($data[$key]);
$data[$this->clean($key)] = $this->clean($value);
}
} else {
$data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8');
}
return $data;
}
}
а точнее, этот кусок ...
public function clean($data) {
if (is_array($data)) {
foreach ($data as $key => $value) {
unset($data[$key]);
$data[$this->clean($key)] = $this->clean($value);
}
} else {
$data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8');
}
return $data;
}
Это называется рекурсивная функция.
Смысл: отфильтровать все элементы находящиеся в массивах, независимо от вложенности массива.
Условие гласит: перебирать элементы массива (многомерного массива) до тех пор, пока не будет встречено конечное значение отличное от массива, если значение не является массивом, тогда применить функцию htmlspecialchars к данным.
Представим что есть массив данных:
[
1 => 'test'
2 => ['test1', 'test2']
]
Благодаря этому коду будут обработаны все элементы (test, test1, test2) как значения и не важно сколько массивов будет вложено в друг друга, ко всем значениям массива будет применена функция htmlspecialchars.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Привет! Ситуация в следующем, хочу сделать красиво условие а получается какой то говнокод)
Доброго времени! У меня такая задача - на странице циклом php выводится в форме разное количество чекбоксов например так
функция должна выводить количество дней между $d1 и unixtimestamp (1475107200)
Бьюсь второй день над следующей задачей: есть база данных адресов типа "область", "город", "улица", "дом" и тд