Copy
<table style="width: 100%; text-align: center; vertical-align: middle;">
<tr>
<td style="width: 50%; vertical-align: middle; border: 1px solid black;"> 이름순 </td>
<td style="width: 50%; vertical-align: middle; border: 1px solid black;"> 나이순 </td>
<br>
</tr>
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
ksort($age);
//arsort($age);
foreach($age as $x => $x_value) {
echo '<tr>';
echo '<td style="width: 50%; vertical-align: middle; border: 1px solid black;">';
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
echo "</td>";
echo '<td style="width: 50%; vertical-align: middle; border: 1px solid black;">';
echo "<br>";
echo "</td>";
echo '</tr>';
}
?>
</table>
위 코드를 실행하면 아래처럼 나옵니다.
| 이름순 | 나이순 |
| Key=Ben, Value=37 | |
| Key=Joe, Value=43 | |
| Key=Peter, Value=35 |
제가 원하는것은 아래처럼 나오는 것입니다.
| 이름순 | 나이순 |
| Key=Ben, Value=37 | Key=Joe, Value=43 |
| Key=Joe, Value=43 | Key=Ben, Value=37 |
| Key=Peter, Value=35 | Key=Peter, Value=35 |
머릴 굴려봤지만 나란히 보여줄 방법을 못찾겠습니다.
답변 3개 / 댓글 7개
채택된 답변
+20 포인트
이렇게 해보시면 될거에요
Copy
<table style="width: 100%; text-align: center; vertical-align: middle;">
<thead>
<tr>
<td style="vertical-align: middle; border: 1px solid black;"> 이름순 </td>
<td style="vertical-align: middle; border: 1px solid black;"> 나이순 </td>
</tr>
</thead>
<tbody>
<tr>
<td>
<table width="100%">
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
ksort($age);
foreach($age as $x => $x_value) {
echo '<tr>';
echo '<td style="vertical-align: middle; border: 1px solid black;">';
echo $x . ",".$x_value;
echo "</td>";
echo '</tr>';
}
?>
</table>
</td>
<td>
<table width="100%">
<?php
arsort($age);
foreach($age as $x => $x_value) {
echo '<tr>';
echo '<td style="vertical-align: middle; border: 1px solid black;">';
echo $x . ",".$x_value;
echo "</td>";
echo '</tr>';
}
?>
</table>
</td>
</tr>
</tbody>
</table>
답변에 대한 댓글 2개
타버린나무
2022-03-02 (수) 07:53:45
2022-03-01 (화) 23:59:33
최소 수정 코드입니다.
Copy
<table style="width: 100%; text-align: center; vertical-align: middle;">
<tr>
<td style="width: 50%; vertical-align: middle; border: 1px solid black;"> 이름순 </td>
<td style="width: 50%; vertical-align: middle; border: 1px solid black;"> 나이순 </td>
<br>
</tr>
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
ksort($age);
$data = $age;
arsort($data);
$keys = array_keys($data);
$i = 0;
foreach($age as $x => $x_value) {
echo '<tr>';
echo '<td style="width: 50%; vertical-align: middle; border: 1px solid black;">';
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
echo "</td>";
echo '<td style="width: 50%; vertical-align: middle; border: 1px solid black;">';
echo "Key=" . $keys[$i] . ", Value=" . $data[$keys[$i]];
echo "<br>";
echo "</td>";
echo '</tr>';
$i++;
}
?>
</table>
답변에 대한 댓글 3개
타버린나무
2022-03-02 (수) 07:55:37
답변 감사합니다. 잘 동작합니다.
늘 채택을 한분만 해야해서 죄송스럽습니다. 먼저 답변 달아주신분을 채택드리니 양해부탁드립니다.
늘 채택을 한분만 해야해서 죄송스럽습니다. 먼저 답변 달아주신분을 채택드리니 양해부탁드립니다.
BiHon
2022-03-02 (수) 10:30:14
괜찮습니다.
- 배열 접근에 대한 이해 후 응용&활용하는데 도움이 되었으면 합니다.
- 1개 테이블과 3개 테이블의 차이가 있는데 이 부분만 유념하면 좋습니다.
성격이 다르기 때문에 각각의 테이블로 출력하는 것은 나쁘지 않습니다.
그것을 굳이 테이블 내에 둘 필요까지는 없습니다.
테이블 내 2개의 테이블이 있는데, 데이터 구하는 부분의 소요 시간이 크거나,
출력할 데이터가 많을 경우 렌더링(화면 출력)이 그만큼 늦어집니다.
데이터를 어디에서 가져오는지 모르겠으나 DB에서 가져오는 것처럼 연관 배열 형태를 띄면
정렬이 편해집니다.
예) $data = [
['name'=>'Peter', 'age'=>35],
['name'=>'Ben', 'age'=>37],
['name'=>'Joe', 'age'=>43],
];
이런 형태면, 이름순 정렬, 나이순 정렬,
이름순 정렬 시 이름이 같을 때 나이 오름차순/내림차순,
나이순 정렬 시 나이가 같을 때 이름 오름차순/내림차순 정렬이 편합니다.
+ array_multisort()
- https://www.php.net/manual/en/function.array-multisort.php
- http://docs.php.net/manual/kr/function.array-multisort.php
- 배열 접근에 대한 이해 후 응용&활용하는데 도움이 되었으면 합니다.
- 1개 테이블과 3개 테이블의 차이가 있는데 이 부분만 유념하면 좋습니다.
성격이 다르기 때문에 각각의 테이블로 출력하는 것은 나쁘지 않습니다.
그것을 굳이 테이블 내에 둘 필요까지는 없습니다.
테이블 내 2개의 테이블이 있는데, 데이터 구하는 부분의 소요 시간이 크거나,
출력할 데이터가 많을 경우 렌더링(화면 출력)이 그만큼 늦어집니다.
데이터를 어디에서 가져오는지 모르겠으나 DB에서 가져오는 것처럼 연관 배열 형태를 띄면
정렬이 편해집니다.
예) $data = [
['name'=>'Peter', 'age'=>35],
['name'=>'Ben', 'age'=>37],
['name'=>'Joe', 'age'=>43],
];
이런 형태면, 이름순 정렬, 나이순 정렬,
이름순 정렬 시 이름이 같을 때 나이 오름차순/내림차순,
나이순 정렬 시 나이가 같을 때 이름 오름차순/내림차순 정렬이 편합니다.
+ array_multisort()
- https://www.php.net/manual/en/function.array-multisort.php
- http://docs.php.net/manual/kr/function.array-multisort.php
타버린나무
2022-03-02 (수) 17:09:21
친절한 부연 설명까지 너무 감사합니다.
열심히 공부하려합니다. ㅜㅜ;
배열 너무 어려워요..
열심히 공부하려합니다. ㅜㅜ;
배열 너무 어려워요..
php sort 찾아보면 될것같은데요
답변에 대한 댓글 2개
답변을 작성하려면 로그인이 필요합니다.
<td>안에 테이블을 넣을수 있는거군요. 또하나 배워갑니다.