在PHP中连接许多数组元素

在PHP中连接许多数组元素,php,arrays,string,string-concatenation,Php,Arrays,String,String Concatenation,我有一个数组“$abc”,它有9个元素,如下所示:- Array ( [a] => Jack [b] => went [c] => up [d] => the [e] => hill [f] => but [g] => never [h] => came [i] => back ) 现在我只需要将从“b”索引到“e”索引的4个元素合并。但我不知道该怎么办。在连接所有数组

我有一个数组“$abc”,它有9个元素,如下所示:-

Array
(
    [a] => Jack
    [b] => went
    [c] => up
    [d] => the
    [e] => hill
    [f] => but
    [g] => never
    [h] => came
    [i] => back
)
现在我只需要将从“b”索引到“e”索引的4个元素合并。但我不知道该怎么办。在连接所有数组元素的情况下,我使用了PHP的“infrade()”函数


非常感谢您的帮助。

您需要先提取所需的值,然后使用
内爆
。您可以使用:

这将产生
上山

如果需要使用文字键,则需要更具创造性。在您的情况下,可能最好只是在数组中循环并进行比较,但您也可以执行以下操作:

echo implode(" ", array_intersect_key($abc, array_flip(range('b', 'e'))));

+1,为了更好地展示数组切片的动态使用,尽管我们必须先彻底理解它。在array_slice()函数之外,计算切片值肯定更容易;但我不得不承认,塔图巧妙地使用了array_intersect_key()和array_flip()
echo implode(" ", array_intersect_key($abc, array_flip(range('b', 'e'))));
$test = array ( 'a' => 'Jack',
                'b' => 'went',
                'c' => 'up',
                'd' => 'the',
                'e' => 'hill',
                'f' => 'but',
                'g' => 'never',
                'h' => 'came',
                'i' => 'back'
              );
$start = 'b';
$end = 'e';

$result = implode(' ',array_slice($test,array_search($start,array_keys($test)),array_search($end,array_keys($test))-array_search($start,array_keys($test))+1));
echo $result;