phpとjavascriptを日常的に書くことが多く、
同じことをやろうとしても、たまに「ええっと、あっちはどう書けばよかったなあ」とか
思うことがあります。
たとえば、CSVファイルをテーブル表示するスクリプトをPHP版とjavascript版にわけて書いてみます。
PHPなら
<?php
// CSVファイルのパス
$file = 'data.csv';
// CSVファイルを読み込み
$data = file_get_contents($file);
// CSVデータを配列に変換
$rows = explode("\n", $data);
$tableData = array();
foreach ($rows as $row) {
$tableData[] = explode(",", $row);
}
// HTMLのテーブルタグを生成
echo '<table>';
foreach ($tableData as $row) {
echo '<tr>';
foreach ($row as $cell) {
echo '<td>' . $cell . '</td>';
}
echo '</tr>';
}
echo '</table>';
?>
javascriptなら
<table id="table"></table>
<script>
// CSVファイルのURL
var file = 'data.csv';
// CSVファイルを取得
var xhr = new XMLHttpRequest();
xhr.open('GET', file, true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
// CSVデータを配列に変換
var data = xhr.responseText.split(/\r\n|\n/);
var table = document.getElementById('table');
// HTMLのテーブルタグを生成
for (var i = 0; i < data.length; i++) {
var row = data[i].split(',');
var tr = document.createElement('tr');
table.appendChild(tr);
for (var j = 0; j < row.length; j++) {
var cell = row[j];
var td = document.createElement('td');
td.textContent = cell;
tr.appendChild(td);
}
}
}
};
xhr.send();
</script>
な感じですかね。
phpの
$rows = explode(“\n”, $data);
と
javascirptの
var data = xhr.responseText.split(/\r\n|\n/);
は、ほぼ同じ処理ですが、
「分割する なにを」という英語の「VO」の文型をとるのが、PHP型。
一方
「なにを 分割する」という日本語っぽい文型をとるのが、javascript型。
関数を重ねて処理を追加していく場合、javascript型の方が書きやすいと思ったりもします。
なれているのは、PHPの方ですが。
WEBプログム、WEBデザインなどの制作については、以下を御覧ください。
WEBプログム、WEBデザインなどの制作XML文書の閲覧 »