我有一个问题,如果我有这样的表,并且在字段-2中有相同的值,那么我想让field-2成为我数组的键,所以如果Field-2是相同的值,就意味着它在数组中的键是相同的:
这张桌子是:
_____________________________
| Field-1 | Field-2 | Field-3 |
|_________|_________|_________|
| row1 | 2 | S |
|_________|_________|_________|
| row2 | 2 | A |
|_________|_________|_________|
| row3 | 1 | S |
|_________|_________|_________|
| row4 | 3 | S |
|_________|_________|_________|
| row5 | 1 | A |
|_________|_________|_________|
| row6 | 4 | A |
|_________|_________|_________|
| row7 | 5 | S |
|_________|_________|_________|
| row8 | 5 | A |
|_________|_________|_________|我想要的结果是:
Array
(
[1] => Array
(
[0] => row3
[1] => row5
)
[2] => Array
(
[0] => row1
[1] => row2
)
[3] => Array
(
[0] => row4
[1] =>
)
[4] => Array
(
[0] =>
[1] => row6
)
[5] => Array
(
[0] => row7
[1] => row8
)发布于 2019-03-05 11:38:34
$output = array();
foreach($input as $array){
$output[$array['Field-2']][] = $array['Field-1'];
}
ksort($output); // added as per additional requirement.发布于 2019-03-05 11:38:16
由于您没有提供任何代码以及您的答案,我将起草一些我认为至少与您所使用的类似的代码--这将创建一个数组,遍历表的每一行,并向子数组中添加一个元素,键为第二列中的任何内容。由于它每次添加一个新元素,所以不会覆盖前面的内容。
$array = [];
foreach ($table as $row) {
$array[$row[1]][] = $row[0];
}
ksort($array); // Sorts the array so that the keys are in ascending orderhttps://stackoverflow.com/questions/55001887
复制相似问题