Probleme mit Array

kbit

Erfahrenes Mitglied
Hi ich habe in $data['keywords'] folgende daten stehen: Array ( [0] => Home [1] => Cities [2] => City [3] => City Pictures [4] usw.
Nun wollte ich diese mit Komma trennen und dann in die Datenbank schreiben. Das habe ich so gemacht:

PHP:
$keywords = explode(", ", $data['keywords']);
print_r($data['keywords']);

Bekomme folgende Notice: Array to string conversion. Und wenn ich dann mal print_r($keywords) mache steht da dies drin Array ( [0] => Array )

Was mache ich falsch ?
 
Hi,
laut manual erwartet explode() einen String.
explode — Teilt einen String anhand einer Zeichenkette

Aber davon mal abgesehen, was genau willst du mit explode erreichen? Du willst doch Kommas hinzufügen, um dann die Daten in eine Datenbank zu schreiben?
Oder verstehe ich dich da falsch?
 
BigR16 kann es sein das du ein dreidimensionales Array geschaffen hast?
Hmm das könnte sein?
Also ich wollte das halt so machen das Array ( [0] => Home [1] => Cities [2] => City [3] => City Pictures [4] steht halt HomeCitiesCityCityPictures so zusammen und ich wollte die mit Komma trennen und dann den String in die DB schreiben. Könnte man das auch anders machen ? Weiß halt nicht wo mein Fehler ist in dem Beispiel was ich gerade gepostet habe
 
probiers ma so
PHP:
$data=' [0] => Home, [1] => Cities, [2] => City, [3] => City Pictures .[4]...';
$keywords = explode(", ", $data);
while($keywords[$t]!="")
{
	echo	$keywords[$t].'<br />';			
	$t++;
}
musste dann halt abändern
 
Ja das würde so funktionieren aber die Daten sind bei mir ja nicht fix ich lese die ja aus. Die Daten stehen ja in $data['keywords'] also dort steht ja das [0] => Home, [1] => Cities, [2] => City, [3] => City Pictures .

@Loomes ja genau ich will die Daten durch kommas trennen und dann in die Datenbank schreiben damit sie nicht so da drin stehen HomeCities usw
 
da brauchste doch kein explode wenn das n Array(explode funktioniert nur mit Zeichenketten) ist kannst du es doch so auslesen!
 
Zuletzt bearbeitet:
Ungefähr so:
PHP:
$data['keywords'] = array( 0 => 'Home', 1 => 'Cities', 2 => 'City', 3 => 'City Pictures' );
$tmp = '';
$count = count( $data['keywords'] );
for( $i = 0; $i < $count ; $i++ )
{
    $tmp .= $data['keywords'][$i];
    if( $i != $count - 1 )
    {
        $tmp .= ',';
    }
}
echo $tmp;
$tmp ist ein String, der dann alle Werte durch Komma getrennt hat, zum einfach schreiben in die Datenbank.
 
Zurück