我有一个问题,如果我有这样的表,并且在field-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
)
答案 0 :(得分:0)
因为您没有提供任何代码以及答案,所以我将草拟一些代码,认为至少与您使用的代码相似-这将创建一个数组,循环遍历表的每一行并添加子数组的元素,其键为第二列中的任何内容。由于它每次都会添加一个新元素,因此不会覆盖前一个元素。
$array = [];
foreach ($table as $row) {
$array[$row[1]][] = $row[0];
}
ksort($array); // Sorts the array so that the keys are in ascending order
答案 1 :(得分:0)
$output = array();
foreach($input as $array){
$output[$array['Field-2']][] = $array['Field-1'];
}
ksort($output); // added as per additional requirement.