тежело
// Новый синтаксис добавлен для перебора итерируемых коллекций. Можете написать свою коллекцию с реализацией итератора и использовать for..of для ее перебора.
let arr = [`a`, `b`, `c`, `d`, `e`];
for (elem in arr) {
console.log(elem); // 0 1 2 3 4
}
for (elem of arr) {
console.log(elem); // a b c d e
}
for (let iter = arr[Symbol.iterator]; iter.done;) {
console.log(iter.next()); // a b c d e
}
try {
$this->initDBConnect();
} catch (\Exception $e) {
// Тут залогировали
$this->logger->error('Некоторое сообщение', [некоторые данные]);
// тут выкинули дальше
// или throw new MyAnyException,
// а не просто дальше выкидывать тоже самое
throw $e;
}
$array = array_filter($array, function($element) {
return $element['name'] !== "Иванов";
});
$array = array_values($array)
. Это поможет избежать неожиданностей при json_encode, например ;) (string)
в вашем первом примере? При нестрогом сравнение (то есть без третьего параметра true
) это по сути будет сделано автоматически. Я лично в такой ситуации вообще не вижу смысла от строго сравнения типов. Просто то преобразование типов, которое вы хотите делать, будет сделано автоматически при нестрогом сравнение самим интерпретатором.array_map
:$arr = array_map(function($n) {
return (int)$n;
}, $arr);
// ...
$('input').each(function (index) {
$(this).val(decode[index]);
});
0, 1, 2, ...
И если разметка документа не менялась, можно надеяться, что порядок найдённых input'ов будет тот же, что и при сохранении значений. Способ не гарантирует попадание значения в нужный input, но в простом случае упражнения сработает.id
и сохранять их вместе со значениями. При восстановлении обращаться к элементам по id
. $s = file_get_contents("fail");
$s = str_replace(["\r","\n"], "", $s);
$s = "[" . str_replace("}{", "},{", $s) . "]";
$array = json_decode($s,1);