如果我不正确地问这个问题,我对PHP是相对较新的。在这里:
我的数组:
$value = array(
array('2500'),
array('3000'),
array('3500'),
array('4000')
);
来自代码:
$Array = array();
for ($i=0; $i<count($value);$i++) {
$Array[]=$value;
}
echo '<pre>';
print_r($Array);
echo '</pre>';
如何将其合并为一个阵列:
Array
[0] => 2500
[1] => 3000
[2] => 3500
[3] => 4000
)
我尝试了很多从array_merge到array_combine的代码,似乎没有什么能做的。是我在代码中缺少的东西,还是有可以实现此目的的函数或过滤器。
谢谢
尝试以下:
<?php
$value = array(
array('2500'),
array('3000'),
array('3500'),
array('4000')
);
echo '<pre>'; // for display purpose only
print_r($value); // for display purpose only
$array = array();
if (is_array($value)) {
foreach ($value as $v) {
$array = array_merge($array,$v);
}
} else {
$array = array($value);
}
print_r($array); // for display purpose only
根据OP的更新编辑
http://www.phpwin.org/s/ib6doo
更改
$Array[]=$value;
to
$Array[]=array_merge($value, $Array);
您可以使用foreach通过数组进行迭代。
<?php
$data = array(
array('2500'),
array('3000'),
array('3500'),
array('4000')
);
$output = [];
foreach($data as $value) {
$output[] = $value[0];
}
var_dump($output);
输出:
array (size=4)
0 => string '2500' (length=4)
1 => string '3000' (length=4)
2 => string '3500' (length=4)
3 => string '4000' (length=4)
您可以使用array_map在数组的每个成员上运行一个函数。array_pop返回每个子阵列的最后一个元素"弹出"。
$output = array_map('array_pop', $data);
var_dump($output);
输出:
array (size=4)
0 => string '2500' (length=4)
1 => string '3000' (length=4)
2 => string '3500' (length=4)
3 => string '4000' (length=4)
您可以尝试此
$output = array_column($value, 0);
print_r($output);