[英]how to rebuild PHP 2 dimentional array?
我有2个二维数组,如下所示:
$day_array = [[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]];
我想像这样重建
$day_array = [[1,1,1,1][2,2,2,2][3,3,3,3][4,4,4,4,4][5,5,5,5]];
有关如何执行此操作的任何想法?
提前致谢...
$day_array = array(array(1,2,3,4,5),array(1,2,3,4,5),array(1,2,3,4,5),array(1,2,3,4,5));
$output = array();
for ( $y = 0; $y < count($day_array[0]); $y++ ) {
for ( $x = 0; $x < count($day_array); $x++ ) {
$output[$y][] = $day_array[$x][$y];
}
}
print_r($output);
输出字符串的版本:
$data = '[';
for ( $y = 0; $y < count($day_array[0]); $y++ ) {
$data .= '[';
$output = array();
for ( $x = 0; $x < count($day_array); $x++ ) {
$output[] = $day_array[$x][$y];
}
$data .= implode(',', $output) . ']';
}
$data .= ']';
echo $data;
为什么要将结果作为数组? 您实际上是在尝试提取信息:我每个值有多少? 您可以使用值作为数组键来达到以下目的:
$result = array();
foreach ($day_array as $innerArray) {
foreach ($innerArray as $value) {
if (!isset($result[$value])) {
$result[$value] = 0;
}
$result[$value]++;
}
}
var_dump($result);
# Will output:
# array(5):
# 1 => 4,
# 2 => 4,
# 3 => 4,
# 4 => 4,
# 5 => 4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.