こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

カンマを削除

IDとNAMEがあり、値は以下になります。

ID NAME
1 西武
2 巨人
3 ソフトバンク

そのIDとNAMEを取得し、NAMEについてはカンマ区切りで連結をし、
ID、NAMEはアンカタグを設定します。
NAMEの値をカンマ区切りにしているのですが、NAMEの値の最後にまで
カンマが付加されてしまいます。

西武,巨人,ソフトバンク, ←ココ

カンマ区切りをrtrimで削除出来ると思ったのですが、うまくいきません。
カンマを削除出来る方法または、他に良い方法があればアドバイス頂けないでしょうか。

以上、よろしくお願い致します。




for($i = 0; $i<10;$i++){
$array[i] = array("ID".[$i] => "NAME".[$i]);
}

foeach($array as $key => $value){
foreach($value as $id => $name){
<a href="aaa.php?id=$key">$name.","</a>
}
}

投稿日時 - 2013-04-06 20:27:06

QNo.8030584

すぐに回答ほしいです

質問者が選んだベストアンサー

出力を保留して後で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));

投稿日時 - 2013-04-08 10:31:25

お礼

ご回答頂きありがとうございます。

ご教授頂いたソースをもとに少し修正した所、
希望していた動作を行う事が出来ました。

長い期間悩んでいたため非常に助かりました。ありがとうございました。

投稿日時 - 2013-04-10 21:43:43

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

とりあえず、そちらが提示したソースでは動かないということは置いときますが、最終的にどのようにしたいのでしょう?

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);

参考URL:http://php.net/manual/ja/function.implode.php

投稿日時 - 2013-04-06 23:22:04

お礼

ご回答ありがとうございます。

下記のようにしたいと考えています。

<a href="aaa.php?id=$key">西武</a> , <a href="aaa.php?id=$key">巨人</a> , <a href="aaa.php?id=$key">ソフトバンク</a>

implodeを使ってやってみたのですが、理解せずにやっていたため
再度やってみます。

投稿日時 - 2013-04-07 08:07:42

ANo.1

別言語ですが、たまにやる手は、
該当文字のカウントを行い(文字数、もしくはバイト数)
該当文字のカウント結果から長さを「-1」の状態の文字にしてやる。

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k05.htm


PHPなら、
substr

strlen
あたりでしょうか?

他に、もっといい手があるのかもしれませんが。

投稿日時 - 2013-04-06 20:37:36

お礼

ありがとうございます。

今環境がないため、教えて頂いた関数を調べてみます。

投稿日時 - 2013-04-07 08:00:25

あなたにオススメの質問