explode関数で文字列を分割

php

この記事ではPHPのexplode関数について解説しています。

explode関数について

explode関数は指定した文字列を文字列で分割できる関数です。

下記は、マンション売却査定プラグインのファイルの抜粋で、「explode関数」は11行目から19行目で記述しているフォームのセレクトボックスで使用しています。データベースから値を読み込んで分割して表示しています。

<div style="max-width:500px; padding:10px; margin:auto; border:solid 1px;">
<form method="post" target="_top" action-xhr="<?php echo post_permalink(); ?>" id="AjaxForm">
<?php
$name = post_custom('name');
global $wpdb;
$value = $wpdb->get_row("SELECT * FROM $wpdb->manshon WHERE name='$name'");
?>
<label style="display:block;">専有面積</label>
<input type="number" name="a" value="<?php echo post_custom('menseki');?>" size="10" onclick="op1.value ='(計算結果)'" style="margin:10px 0; height:50px;">
<label style="display:block;">階数</label>
<select name="b" class="b" onclick="op1.value ='(計算結果)'" style="margin:10px 0; height:50px;">
<?php
$kaisuu = explode(",",$value->kaisuu);
foreach ( $kaisuu as $kaisuu ) {
$k_value = explode(":",$kaisuu);
echo '<option value="'.$k_value[1].'">'.$k_value[0].'</option>';
}
?>
</select>
<label style="display:block;">角部屋</label>
<select name="d" class="d" onclick="op1.value ='(計算結果)'" style="margin:10px 0; height:50px;">
<option value="1">いいえ</option>
<option value="1.03">角部屋</option>
</select></td></tr>
<button type="submit" onclick="op1.value = Math.round(Number(a.value) * Number(b.value) * Number(d.value)/10000*0.97).toLocaleString()+'万円~'+Math.round(Number(a.value) * Number(b.value) * Number(d.value)/10000*1.03).toLocaleString()+'万円';" name="satei_manshon_count" style="margin:10px auto; height:50px; padding:10px; display:block;" class="manshon-button">簡易査定</button>
<input readonly="" name="op1" value="(計算結果)" id="satei" style="margin:10px 0; height:50px; color:red; border:none; font-size:2rem; width:100%; text-align:right; background:#ddd;">
</form>
</div>
<script>
jQuery(function ($) {
$('#AjaxForm').submit(function(event) {
    // HTMLでの送信をキャンセル
    event.preventDefault();
    var $form = $(this);
    var $button = $form.find('.manshon-button');
    var $name = "<?php echo post_custom('name');?>";
    var $menseki = $form.find('input[name="a"]').val();
    var $kaisuu = $form.find('.b option:selected').text();
    var $kado = $form.find('.d option:selected').text();
    var $satei = $form.find('input[name="op1"]').val();
    $.ajax({
        url: ajaxurl,
        type: 'POST',
        data: {
            'action' : 'view_sitename',
            'name' : $name,
            'kaisuu' : $kaisuu,
            'kado' : $kado,
            'menseki' : $menseki,
            'satei' : $satei,
        },
        timeout: 10000,  // 単位はミリ秒
        // 送信前
        beforeSend: function(xhr, settings) {
            // ボタンを無効化し、二重送信を防止
            $button.attr('disabled', true);
        },
        // 応答後
        complete: function(xhr, textStatus) {
            // ボタンを有効化し、再送信を許可
            $button.attr('disabled', false);
        },
        // 通信成功時の処理
        success: function(result, textStatus, xhr) {
            return;
        },
        // 通信失敗時の処理
        error: function(xhr, textStatus, error) {
            alert('エラー暫くたってからお試しください。');
        }
    });
    // …
});
});
</script>
Fudousan Plugin Ver.6.0.0
タイトルとURLをコピーしました