将所有(foreach)值放在一个数组中

时间:2014-12-17 10:16:26

标签: php arrays

我希望将foreach键中的所有值作为一个数组中的值。目前我这样做。

foreach($key as $value){
$data = "<div>{$value->names}</div><div>{$value->firstlatter}</div>";
$json = array('values' => $data);
print_r($json);
}

所以它返回值。

    array([values] => <div>apple</div><div>a</div>)
    array([values] => <div>banana</div><div>b</div>)
    array([values] => <div>mango</div><div>m</div>)
    array([values] => <div>orange</div><div>o</div>)

但我希望获得一个数组中的所有值。下面是我想要的例子。

array([values] => <div>apple</div><div>a</div><div>banana</div><div>b</div><div>mango</div><div>m</div><div>orange</div><div>o</div>);

4 个答案:

答案 0 :(得分:2)

foreach($key as $value){
  $data = "<div>{$value->names}</div><div>{$value->firstlatter}</div>";
  $json[] = array('values' => $data);
}

使用$json[]添加包含数据的数组,将其添加到另一个数组中。

答案 1 :(得分:1)

这应该适合你:

<?php

    $data = "";

    foreach($key as $value) {
        $data .= "<div>{$value->names}</div><div>{$value->firstlatter}</div>";
    }

    $json = array('values' => $data);
    print_r($json);

?>

答案 2 :(得分:0)

使用闭包:

$json['values'] = array_reduce(
    $key,
    function ($a, $b) {
        return $a . "<div>{$b->names}</div><div>{$b->firstlatter}</div>";
    }
);

答案 3 :(得分:-1)

您可以循环并将元素添加到字符串中,如:

$data = "";
foreach($key as $value){
   $data .= "<div>{$value->names}</div><div>{$value->firstlatter}</div>";
}

$json = array('values' => $data);

将所有字符串放在循环之后。