読者です 読者をやめる 読者になる 読者になる

HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

文字列連結の処理

仕事でPHPでの開発をしていると、以下のような記述を飽きるほど見かける。いや、ジョークとかじゃなくマジで‥orz

<?php
$data = array('a', 'bb', 'ccc', 'dddd');

$resultStr = '';
foreach($data as $val){
    if(strlen($resultStr)){
        $resultStr .= ',';
    }
    $resultStr .= $val;
}

printf("実行結果:%s\n", $resultStr);
実行結果:a,bb,ccc,dddd

これでいいじゃん‥/_;)/

<?php
$data = array('a', 'bb', 'ccc', 'dddd');

$resultStr = implode(',', $data);

printf("実行結果:%s\n", $resultStr);


プレフィックス、ポストフィックスをつけたい場合はちょっと面倒かも。

<?php
$data = array('a', 'bb', 'ccc', 'dddd');

$resultStr = '';
foreach($data as $val){
    if(strlen($resultStr)){
        $resultStr .= ',';
    }
    $resultStr .= '<<' . $val . '>>';
}

printf("実行結果:%s\n", $resultStr);
実行結果:<<a>>,<<bb>>,<<ccc>>,<<dddd>>

でもやっぱりこんな感じでいい。

<?php
$data = array('a', 'bb', 'ccc', 'dddd');

$resultStr = (count($data) > 0 ? '<<' . implode('>>,<<', $data) . '>>' : '');

printf("実行結果:%s\n", $resultStr);