nokla
@nokla

Как разобрать текст на массивы?

Не могу разобраться с массивами, я запутался пиз...
Есть переменная в ней текст, этот текст нужно разобрать таким образом
$i= "это такая жопа что просто офигеть"; // Переменная с текстом

[0] => Array
(
	[0] => это такая жопа что просто офигеть
	[1] => это такая жопа что просто [0] => офигеть
	[2] => это такая жопа что [0] => просто офигеть
	[3] => это такая жопа [0] => что просто офигеть
	[4] => это такая [0] => жопа что просто офигеть
	[5] => это [0] => такая жопа что просто офигеть

	[5] => это [1] => такая жопа что просто  [0] => офигеть
	[5] => это [2] => такая жопа что [0] => просто офигеть
	[5] => это [3] => такая жопа [0] => что просто офигеть

	[4] => это такая [1] => жопа что просто [0] => офигеть
	[4] => это такая [2] => жопа что [0] => просто офигеть
	[4] => это такая [3] => жопа [0] => что просто офигеть

	[3] => это такая жопа [1] => что просто  [0] => офигеть
	[3] => это такая жопа [2] => что [0] => просто офигеть

	[2] => это такая жопа что [1] => просто [0] => офигеть
        [5] => это [6] => такая [3] => жопа [2] => что [1] => просто [0] => офигеть

)

Смысл что бы текст разобрать, потом собрать во всех комбинациях и все.
  • Вопрос задан
  • 2427 просмотров
Решения вопроса 1
@HaveFun
$text = 'давайте выражаться культурно';

$arWords = explode(' ',$text);

function implodeAndNest($arWords){
  $arResult = array();
  foreach($arWords as $wordNum => $word){
    if($wordNum == 0){
      $arResult[] = implode(' ',array_slice($arWords,$wordNum));
    }else{
      $arResult[] = array(implode(' ',array_slice($arWords,0,$wordNum)) => implode(' ',array_slice($arWords,$wordNum)));
    }
  }
  return $arResult;
}

$arResult = array();
foreach($arWords as $wordNum => $word){
  if($wordNum == 0){
    $arResult[] = implodeAndNest(array_slice($arWords,$wordNum));
  }else{
    $arResult[] = array(implode(' ',array_slice($arWords,0,$wordNum)) => implodeAndNest(array_slice($arWords,$wordNum)));
  }
}

echo '<pre>';
print_r($arResult);
echo '</pre>';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы