如何在foreach的可变数组中显示所有数据?

时间:2019-07-09 11:49:24

标签: php arrays codeigniter

我在数组中有一个数据,并使用foreach显示数组中的所有数据,然后在foreach中创建了一个变量。

我有一个数组

Array ( 
    [0] => 2 
    [1] => 36 
)
$data = Array ( [0] => 2 [1] => 36 );

foreach ($data as $hasil) {
    $allData = $hasil;
}

$array = array(
    'allData' => $allData,
);

print_r($array);

输出为

Array ( 
    [allData] => 36 
)

但是,我希望我的输出是

Array ( 
    [allData] => 2,36 
)

我应该怎么编码才能输出?

3 个答案:

答案 0 :(得分:0)

您当前的方法将为每次迭代覆盖元素$allData,因此实际上将仅获取数组中的最后一个元素。

您可以使用implode()的胶水来代替,

$data = array(2, 36);
$allData = array(implode(",", $data));
// echo $allData[0];

或者,如果您不需要它作为数组,只需直接输入字符串,

$data = array(2, 36);
$allData = implode(",", $data);
// echo $allData;

答案 1 :(得分:0)

您可以使用implode()以逗号连接数组值,然后将这些值传递给新数组的值:

<?php
$data = [2, 36];
$joinedData = implode(',', $data);

$array = array(
 'allData' => $joinedData,
);

print_r($array);

或:

<?php
$data = [2, 36];

$array = array(
 'allData' => implode(',', $data),
);

print_r($array);

结果:

Array ( [allData] => 2,36 )

答案 2 :(得分:0)

您可以使用implode

$data = Array ( 0 => 2, 1 => 36 );
$array['allData'] = implode(",", $data);
print_r($array);

Demo

输出

Array
(
    [allData] => 2,36
)