phpは英語型文型、javascriptは日本語型文型


 

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デザインなどの制作