php 从数组元素中获取字符串并连接成新的数组元素

php get string from array elements and concatenate into new array element

我正在尝试 return 基于位置排列字符串,连接并追加到一个新数组中。

$matches = ([0] => 20170623 004129 982 a [4] => 20170623 004130 982 b [8] => 
            20170623 004130 982 b)
foreach ($matches as $match){
    $arr2 = explode(" ", $match);
    echo $arr2[0] . $arr2[1] . $arr2[2];

for循环适用于explode,可以看到数组的每个元素(字符串)被分离成一个新数组$arr2,但是每次通过循环都会覆盖$arr2。 我的 echo 多次 returning 相同的结果(最后一次通过的结果)。貌似每关一次。

预期输出,可能类似于:

$arr3 = ([0] => 20170623004129982 [1] => 20170623004130982 [3] => 
            20170623004130982)

你需要array_push()

你的情况

<?php
    $arr2 = [];
    foreach ($matches as $match) {
        $values = explode(" ", $match);
        array_push($arr2, $values[0], $values[1], $values[2]);   
    }

    var_dump($arr2); // now $arr2 should contain all values
?>

在 foreach 上面创建一个数组,这样它就不会在每次迭代时重新初始化,并在其中添加每次迭代的值

$arr=[];
foreach ($matches as $match){
    $arr2 = explode(" ", $match);
    array_push($arr,array_map(function($arr2){
         return $arr2;
    },$arr2));
    echo "<pre>";print_r($arr);
}