phpで配列からカンマ区切りの文字列をつくる

phpで配列をカンマ区切りの文字列にするには

$arr = [1,2,3];
var_dump(implode(',', $arr));
// string(5) "1,2,3"

implodeを使うと簡単ですが、空の値があると

$arr = [1,2,'',null,5];
var_dump(implode(',',$arr));
// string(7) "1,2,,,5"

とちょっといけてない
からの要素を除いてからやるには

var_dump(array_filter($arr, 'strlen'));
/*
array(3) {
  [0] =>
  int(1)
  [1] =>
  int(2)
  [4] =>
  int(5)
}
 */
var_dump(implode(',', array_filter($arr, 'strlen')));
// string(5) "1,2,5"

array_filterを使ってやるとよさそうです

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください