2017-05-10 6 views
1

PHPを使用して、オブジェクトの配列から特定の値を選択し、それらを結合して1つの連続した文字列をコンマで区切って作成し、$isbnという名前の変数に保存します。PHPを使用して文字列を結合し、カンマで区切る

私は$itemsという名前のオブジェクトの配列を持っています。 var_dump($items)は、thisを生成する。 item_isbnの値を選択する必要があります。

私の望む結果は次のとおりです。

echo $isbn 

// would produce 
// '0-7515-3831-0,978-0-141-38206-7,978-1-30534-114-1' 

ハイフンを取り払うことはボーナスことが、私はstr_replaceを使用してこれを達成することができると思います。

答えて

2

ここで行く:

$isbnList = []; 
foreach ($arrayObject as $item) { 
    if (isset($item->item_isbn)) { 
     $isbnList[] = $item->item_isbn; 
    } 
} 

$isbn = implode(",", $isbnList); 

はそれを確認してください:あなたの情報については

echo $isbn; 

を:

  • foreach作品、それは配列だから。それはそれの中のそれぞれのアイテムには気をつけません。
  • ループ内の各オブジェクト($item)は、phpのデフォルトオブジェクト(指定したダンプデータ)です。 $object->propertyと呼ばれるはずです。このオブジェクトのプロパティは常に利用可能であるかどうかは不明です。したがって、PHPの組み込み関数名isset()で利用可能かどうかを確認することが必須です。
  • implode()は、one side arrayにセパレータベースの文字列を作成するためのphpの組み込み関数です(この片側配列の各項目はスカラー値(int、string)でなければなりません)。この配列を作成して呼び出し準備を整えます。
  • を残りの部分は、配列やオブジェクトの操作方法-にちょうど構文についてです...あなたは簡単に例えば、PHPのマニュアルページにルックアップすることができます。http://php.net/manual/en/language.types.array.php

一番人気のあるプログラミング言語は、今日私たちに組み込み関数を提供しますこのようなimplode()、ちょうど異なる命名。

+0

私は上記の私の答えを更新しました。いつも喜んでいる男。 – ThangTD

+0

詳細な説明をありがとう!それは非常に役立ち、私が必要としていたものです。私の質問には理由がありませんでした。 –

+1

質問するのは間違いありません。あなたが今までにstackoverflowのためにやった作品のリストを見たら、私は非常に感謝しています。だから私はあなたの評判のバランスをとるために投票をし、このようなことにあなたがもう躊躇しないようにするだけです。それを楽しんでください。 – ThangTD

関連する問題