将数组与祖先元素混合

ceb*_*sso 0 php arrays

似乎很简单,但我想,在这上面失去了很多时间......但没有成功......

如果我有一个字符串:

$str = "She sells seashells"
Run Code Online (Sandbox Code Playgroud)

所以我把每个单词都变成了一个数组元素

$array = explode(" ", $str);
Run Code Online (Sandbox Code Playgroud)

我需要的是,每个单词都接收祖先元素(如果有的话)和下一个单词......

json格式的示例结果(更容易显示)

"{"She":["sells","seashells"],"sells":["She","seashells"],"seashells":["She","sells"]}"
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

谢谢!

spl*_*h58 5

实际上,您可以复制每个键的源数组,不包括该键:

$str = "She sells seashells";
$array = explode(" ", $str);

$res = [];
for($i = 0; $i < count($array); $i++) {
    $res[$array[$i]] = $array;
    unset($res[$array[$i]][$i]);
}

print_r($res);
Run Code Online (Sandbox Code Playgroud)

演示