Я сделал сделал разделение строки на равные части с хвостом:
function chunk($text, $parts) {
$partSize = strlen($text)/$parts;
$tailSize = strlen($text)%$parts;
$arr = [];
for ($i = 0; $i < $parts; $i++) {
array_push($arr, substr($text, $i*$partSize, $partSize));
}
// Хвост
if ($tailSize != 0) {
$end = substr($text, $parts*$partSize + 1, $tailSize);
array_push($arr, $end);
}
return $arr;
}
Но всё же где-то в середине процесса начинают теряться символы. При использовании
json_encode(chunk('hellohellohello', 4))
Результат следующий:
Знаю, что скорее всего проблема здесь: $i*$partSize но не доходит =В
Так что ли?
$string = 'helloworld';
function array4me($string, $chunks)
{
$array = str_split($string);
$chunks = array_chunk($array, $chunks, false);
$result = array();
foreach ($chunks as $chunk)
{
$result[] = implode($chunk);
}
$result = implode(',', $result);
return $result;
}
echo array4me($string, 4);
На выводе будет строка - hell,owor,ld
И используйте функции mb_strlen() и mb_substr(); для работы с многобайтными строками https://secure.php.net/manual/ru/book.mbstring.php
Всё же была моя ошибка: на месте strlen($text)/$parts получалось десятичное число, поэтому через пару циклов начинали пропадать буквы (я спутал с другим языком, где деление происходило нацело). Если вдруг у кого будет схожий вопрос, держите код (заранее извиняюсь, если плохо оптимизирован)
function chunked($text, $parts) {
$partSize = floor(strlen($text)/$parts);
$tailSize = strlen($text)%$parts;
$arr = [];
for ($i = 0; $i < $parts; $i++) {
array_push($arr, substr($text, $i*$partSize, $partSize));
}
// Хвост
if ($tailSize != 0) {
$end = substr($text, $parts*$partSize, $tailSize);
array_push($arr, $end);
}
return $arr;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть много одинаковых классов, и она все парсятся нормально, выходит 100 классов, но когда я с этих классов парсю href то парсит только только...
Есть код php, который не пропускает формат jpeg, в чем проблема я уже понял, когда он находит формат jpeg в массиве, возвращает true и следом порядковый...
довольно стыдно это признавать, но не могу разобраться с wildflyЯ создал простенькое web приложение на java, чтобы проверить как работает wildfly, но он открывает...