私は、文字の区切りで配列を暗黙にすることを必要とするプロジェクトに取り組んでいます。プロジェクトの他の部分でもjoin
とimplode
を同じ意味で使用していますが、このセクションでは動作しません。文字列の先頭からPHP配列の暗黙文字を削除するには
$dbQuery = "SELECT ftc.*, fc.name
FROM facilities f
LEFT JOIN facility_to_category ftc ON f.fid = ftc.fid
LEFT JOIN facility_categories fc ON ftc.cid = fc.cid
WHERE f.listing_year = '2011'
AND fc.parent_cid = '2'
AND f.fid = ('".$listing_fid."')";
$dbResult = $dbc->query($dbQuery,__FILE__,__LINE__);
$num_results = $dbc->num_rows($dbResult);
echo '<h3>Demographics</h3>
<div>';
while($catdata = $dbc->fetch($dbResult)) {
$demographics = array();
$demographic_names = array('',trim($catdata->name));
$demographics = implode(' '.chr(149).' ',$demographic_names);
print $demographics;
}
結果がこれです:
Demographics
• Affluent • Children • Hard-to-Reach • Parents
代わりの
Demographics
Affluent • Children • Hard-to-Reach • Parents
私は周りを二重引用符の代わりに単一引用符を使用してみました '.chr(149)。'。私はカンマやバー、またはスペースだけを使ってみました。私はトリミングのさまざまな方法を試してきたし、トリミングしない$catdata->name
。
また、文字列連結を試してみることも考えましたが、最初の文字列ではなく末尾に余分な文字が追加されます。 Implode
またはjoin
が良い方法です。
私には何が欠けていますか?
'$ demographic_names [0]'は空白ですか?また、 '$ demographics = array();を設定してすぐに文字列に変換するのはなぜですか? –