2011-08-05 16 views
1

私は少しのPHPのnoobだから、preg_replace()にするか、explode()にするか、implode()にするかはわかりません。いずれにせよ、私はそれについてどうやって行くのか分からない。オンザフライの文字列から最初のカンマを削除してください

私はワードプレスにいるよ、と私はこのコードを実行している:

<?php $terms = wp_get_post_terms($post->ID,'jobtype'); 
foreach($terms as $term){echo ', ' . $term->name;} ?> 

私はecho ', ' . $term->name;文字列にキャプチャし、その最初の', 'を削除する必要があります。

私はechoという言葉の名前とは別の方法があっても、皆さん(そしてギャル)が私を助けてくれますか?

ありがとうございます!

+0

最初の '、'を何に置き換えたいですか? – yokoloko

+0

@yokolokoトピックを見ると、削除するだけです。 –

答えて

3

オールドスクール:

$terms = wp_get_post_terms($post->ID,'jobtype'); 
$names = array(); 
foreach($terms as $term){ 
    $names[] = $term->name; 
} 
echo implode(',', $names); 

PHP 5.3はanonymous functions [docs]を紹介したように、array_map[docs]は、これらの "1時間" の仕事のためのより多くの興味深いなった:

再利用可能な機能を備えた
echo implode(',', array_map(function($term) { return $term->name; }, 
          wp_get_post_terms($post->ID,'jobtype'))); 

それともより説明:

function getProperty($prop) { 
    return function($object) use ($prop) { 
     return $object->{$prop}; 
    } 
} 

echo implode(',', array_map(getProperty('name'), 
          wp_get_post_terms($post->ID,'jobtype'))); 

しかし、これはPHP 5.3を使用する場合にのみ有効です。

+0

これは完全に機能します!私のホストがPHP 5.3をサポートしているかどうかは気にしませんので、動作するものを使用します。本当にありがとう! –

+0

@JoshAllen:あなたは大歓迎です:) –

関連する問題