- ベストアンサー
カンマを削除する方法とは?
- IDとNAMEを取得し、NAMEはカンマ区切りで連結する必要があります。
- しかし、NAMEの値の最後までカンマが付加されてしまいます。
- カンマを削除する方法または、他の方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
出力を保留して後でimplode for($i = 0; $i<10;$i++){ $array[i] = array("ID".[$i] => "NAME".[$i]); } $rsl=""; foeach($array as $key => $value){ foreach($value as $id => $name){ $rsl.=sprintf('<a href="aaa.php?id=%s">%s</a>',$key,$name); } } print(implode(',',$rsl));
その他の回答 (2)
- bm_hiro
- ベストアンサー率51% (200/388)
とりあえず、そちらが提示したソースでは動かないということは置いときますが、最終的にどのようにしたいのでしょう? Aタグが入ったCSVにしたいのでしょうか? ↓ こうしたいのでしょうか? <a href="aaa.php?id=$key">西武</a> , <a href="aaa.php?id=$key">巨人</a> , <a href="aaa.php?id=$key">ソフトバンク</a> それとも、↓でしょうか? <a href="aaa.php?id=$key">西武 , 巨人 , ソフトバンク</a> まぁ、正直 求める回答ではないかもしれませんが、「配列を一つの文字列に繋げる」のであれば、implode()です。 ちなみに、1の人のを書くと ↓こんな感じでしょうか。 $a = substr($a , 0 , strlen($a)-1);
お礼
ご回答ありがとうございます。 下記のようにしたいと考えています。 <a href="aaa.php?id=$key">西武</a> , <a href="aaa.php?id=$key">巨人</a> , <a href="aaa.php?id=$key">ソフトバンク</a> implodeを使ってやってみたのですが、理解せずにやっていたため 再度やってみます。
- STICKY2006
- ベストアンサー率29% (1536/5269)
別言語ですが、たまにやる手は、 該当文字のカウントを行い(文字数、もしくはバイト数) 該当文字のカウント結果から長さを「-1」の状態の文字にしてやる。 http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k05.htm PHPなら、 substr と strlen あたりでしょうか? 他に、もっといい手があるのかもしれませんが。
お礼
ありがとうございます。 今環境がないため、教えて頂いた関数を調べてみます。
お礼
ご回答頂きありがとうございます。 ご教授頂いたソースをもとに少し修正した所、 希望していた動作を行う事が出来ました。 長い期間悩んでいたため非常に助かりました。ありがとうございました。