2017-05-10 5 views
1

Mit PHP möchte ich bestimmte Werte aus einem Array von Objekten auswählen, sie zu einer durch Kommas getrennten fortlaufenden Zeichenfolge verbinden und diese in einer Variablen mit dem Namen $isbn speichern.Verknüpfen Sie Zeichenfolgen und trennen Sie sie mit einem Komma mit PHP

Ich habe ein Array von Objekten mit dem Namen $items. A var_dump($items) produziert this. Ich muss den item_isbn Wert auswählen.

Mein gewünschtes Ergebnis ist;

echo $isbn 

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

Erste der Bindestriche los wäre ein Bonus, aber ich glaube, ich diese str_replace mit erreichen kann.

Antwort

2

Here we go:

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

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

bestellen:

echo $isbn; 

Zu Ihrer Information:

  • Die foreach funktioniert, weil es ein Array ist. Es kümmert sich nicht um jeden Gegenstand darin.
  • Jedes Objekt ($item) in der Schleife ist das Standardobjekt von PHP (wie die von Ihnen bereitgestellten Dump-Daten). Das soll heißen: $object->property. Die Eigenschaft dieses Objekts ist nicht sicher, immer verfügbar zu sein, daher ist es wichtig zu prüfen, ob es durch die integrierten PHP-Funktionsnamen isset() verfügbar ist.
  • Durch die Kenntnis implode() ist eingebaute Funktion von PHP, um eine Zeichenfolge mit Separator Basis auf einem one side array zu bauen (bedeutet, dass jedes Element in diesem einseitigen Array ein Skalarwert (int, string) sein muss). Wir erstellen dieses Array, um für den Anruf bereit zu sein.
  • Der Rest ist nur über Syntax-how mit Array oder Objekt zu arbeiten ... können Sie leicht Nachschlagen auf PHP Manual-Seite, zB: http://php.net/manual/en/language.types.array.php

Die beliebtesten Programmiersprachen uns heute bieten integrierte Funktion wie diese implode(), nur andere Namen.

+0

Ich aktualisierte meine Antwort oben. Immer williger Mann. – ThangTD

+0

Danke für die sehr ausführliche Erklärung! Es ist sehr hilfreich und genau das, was ich brauchte. Meine Frage wurde abgelehnt, keine Ahnung warum! –

+1

Es ist kein Fehler, eine Frage zu stellen. Ich habe dich sehr geschätzt, als ich eine Liste von Arbeiten gesehen habe, die du bisher für stackoverflow gemacht hast. Deshalb habe ich einfach eine Stimme abgegeben, um Ihren Ruf auszugleichen und Sie auf solche Dinge nicht mehr zögern zu lassen. Genieße es, Mann. – ThangTD

Verwandte Themen