ホームページ > バックエンド開発 > PHPチュートリアル > 最後の要素の前に \'、\'、\'and\' を含む配列を分解するにはどうすればよいですか?

最後の要素の前に \'、\'、\'and\' を含む配列を分解するにはどうすればよいですか?

DDD
リリース: 2024-12-01 06:58:12
オリジナル
728 人が閲覧しました

How to Implode an Array with

最後の項目の前に「、」、および「and」を含む配列の組み込み

カンマ区切りのリストを使用して配列を文字列に組み込むのは一般的なタスクです。ただし、最後の項目の前に「and」を追加する必要がある場合、それは必ずしも簡単ではありません。

通常の Implode 関数

implode() 関数を使用して、要素の要素を連結できます。指定された区切り文字を使用して、配列を文字列に変換します。たとえば、次のコードは、ドリンク名の配列をカンマ区切りのリストに分解します。

$listArrau = ['coke', 'sprite', 'fanta'];
$listString = implode(', ', $listArrau);
ログイン後にコピー

これにより、次の文字列が生成されます。

coke, sprite, fanta
ログイン後にコピー

前に「and」を追加します。最後の項目

最後の項目の前に「and」を挿入するには、爆縮プロセスを変更する必要があります。これは長い行の解決策です:

echo join(' and ', array_filter(array_merge(array(join(', ', array_slice($array, 0, -1))), array_slice($array, -1)), 'strlen'));
ログイン後にコピー

この式はいくつかのステップに分かれています:

  1. 配列をスライスします: 2 つのスライスが作成され、1 つは最後の項目を除くすべての項目を取得する場合と、最後の項目のみを取得する場合があります。
  2. スライス: 2 つのスライスは 1 次元配列にマージされます。
  3. 配列のフィルター: マージされた配列はフィルターされて空の要素が削除されます (空の値がないことを確認します)。
  4. 配列を結合します: フィルターされた配列は、「 と 」を使用して結合されます。

これは、ステップが区切られた冗長バージョンです:

$last = array_slice($array, -1);
$first = join(', ', array_slice($array, 0, -1));
$both = array_filter(array_merge(array($first), $last), 'strlen');
echo join(' and ', $both);
ログイン後にコピー

この複数ステップのアプローチにより、任意の数のケースを処理できます。 0、1、2 項目を含む項目を正しく入力します。

以上が最後の要素の前に \'、\'、\'and\' を含む配列を分解するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート