function getSetAge(?int $age=null): int
{
if (!is_null($age)) {
$this->age = $age;
}
return $this->age;
}}
$fileName = '1.csv';
$lineLength = 1024;
$linesCount = 15;
$handle = fopen($fileName, "r");
$fileSize = filesize($fileName);
$data = [];
if ($fileSize !== 0) {
for ($num = 1; $num <= $linesCount; $num++) {
$rand = rand(0, $fileSize);
fseek($handle, $rand);
$firstPointer = null;
do {
fgets($handle); // trash
$pointer = ftell($handle);
if ($pointer === $fileSize) {
fseek($handle, 0);
$pointer = 0;
}
if ($pointer === $firstPointer) { // loop detect
continue 2;
}
$firstPointer = $firstPointer ?? $pointer;
} while (array_key_exists($pointer, $data));
$data[$pointer] = fgets($handle);
}
}
ksort($data); // sort by order in file
var_dump($data);
... выглядит примерно так: 01
То есть 0 не убирается, как то исправить?
echo sprintf('%02d',1);
abstract protected function mapToArray(Model $object ): array;
...
class User extends Model
str_replace(['*','x'],'R','2*10*30 2x10x30');
preg_filter('/(\d+)[*x](\d+)[*x](\d+)/', '${1}R${2}R${3}', '2*10*30 2x10x30')
Но если поместить это в сервис, то открыв класс сервиса, мы увидим вообще все кейсы работы с сущностью "пост", а если писать это в контроллере, то логика уже чуть размазывается по приложению.
И вопрос, а чем же всё таки являются actions? Это больше контроллеры одного действия, или больше сервисы одного действия? Поскольку в сети мнения на этот счёт расходятся.
$numbers = [
'123',
'124',
'125',
'111',
'222',
'566',
'777',
];
$cleanNumbers = [];
foreach ($numbers as $key=>$number) {
// не нужно делать универсальным поиск нужных значений, т.к. он слишком специфичен, поэтому так:
if ($number[0]===$number[1] && $number[1]===$number[2]) {
// здесь проще было бы написать $cleanNumbers[] = $number;
$cleanNumbers[] = array_slice($numbers, $key, 1);
// а если нужно все таки удаление, то достаточно unset($numbers[$i]) с противоположным условием
}
}
var_dump($cleanNumbers);