0

区切り記号が必要な場合、要素間に区切り記号を表示するにはどうすればよいですか? 名前、役職、会社を表示する必要があります。それらのそれぞれがニュースの引用エントリに表示される場合。

すべてのニュースの引用に 3 つの項目がすべて含まれているわけではありません。

  1. 名前、役職、会社
  2. 名前、役職
  3. 名前、会社
  4. 名前

バリエーションごとに、 、または | などのセパレーターをエコーする必要があります。

現在、クエリは次のとおりです。

<?php echo $row_article['quote_name'] . ', ' . $row_article['quote_job'] . ', ' . $row_article['quote_company']; ?>

3つすべてが存在する場合、正しいように見えます。2つしか存在しない場合、次のようなものが得られます

name, , company
, job title, company
name, job title,
4

5 に答える 5

3

array_filterimplodeを組み合わせて使用​​することをお勧めします。

例を書いてみます。

<?php

$delimiter = ' | ';

$row_articles = array(
  array(
    'quote_name' => 'Foo',
    'quote_job' => 'Bar',
    'quote_company' =>'Baz'
  ),
  array(
    'quote_name' => 'Foo',
    'quote_job' => 'Bar',
    'quote_company' =>''
  ),
  array(
    'quote_name' => 'Foo',
    'quote_job' => '',
    'quote_company' =>'Baz'
  ),
  array(
    'quote_name' => 'Foo',
    'quote_job' => '',
    'quote_company' =>''
  ),
);


foreach ($row_articles as $row_article) {
  echo implode($delimiter, array_filter($row_article));
  echo "\n";
}

出力

Foo | Bar | Baz
Foo | Bar
Foo | Baz
Foo
于 2012-08-10T10:58:18.383 に答える
2

implodeはあなたの友達です。

各アイテムを保持配列に追加してから、implode( "、"、array_name)を使用してそれらを結合します。

于 2012-08-10T10:58:09.267 に答える
1

方法の1つは、それらを配列に配置することです

$arr[] = $var1;
$arr[] = $var2;
$arr[] = $var3;

$newarr = array_filter($arr);

echo implode(',', $newarr);
于 2012-08-10T10:58:59.320 に答える
0

これを試して...

echo implode( ', ', $row_article);
于 2012-08-10T10:58:50.400 に答える
0

このように php implode メソッドを使用します。

<?php

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

// Empty string when using an empty array:
var_dump(implode('hello', array())); // string(0) ""

?>
于 2012-08-10T11:07:09.627 に答える