Ich bin ein Anfänger in PHP und brauche eine schnelle Lösung für das folgende Problem, kann mir aber anscheinend keine einfallen lassen:
Ich habe so ein mehrdimensionales Array
Array
(
[0] => Array
(
[blogTags_id] => 1
[tag_name] => google
[inserted_on] => 2013-05-22 09:51:34
[inserted_by] => 2
)
[1] => Array
(
[blogTags_id] => 2
[tag_name] => technology
[inserted_on] => 2013-05-22 09:51:34
[inserted_by] => 2
)
)
Ich möchte das verwenden, implode()
um irgendwie eine durch Kommas getrennte Zeichenfolge zurückzugeben, die solche tag_name
Schlüsselwerte enthält.
google, technology
Ist es möglich, diesen Effekt mit dieser Funktion zu erzielen? Wenn nicht, schlagen Sie bitte eine alternative Lösung vor.
Obwohl diese Frage mit der Konvertierung von Zeichenfolgen zusammenhängt, bin ich darauf gestoßen, als ich eine einfache Möglichkeit zum Schreiben von Arrays in meine Protokolldateien suchte. Wenn Sie nur die Informationen wünschen und sich nicht um die genaue Sauberkeit eines Strings kümmern möchten, sollten Sie Folgendes berücksichtigen:
quelle
array_map
ist eine Rückruffunktion, mit der Sie mit dem übergebenen Array spielen können. das sollte funktionieren.$str = implode(',', array_map(function($el){ return $el['tag_id']; }, $arr));
quelle
join(',', array_map(function (array $tag) { return $tag['tag_name']; }, $array))
quelle
sehr einfach dafür gehen
$str; foreach ($arrays as $arr) { $str .= $arr["tag_name"] . ","; } $str = trim($str, ',');//removes the final comma
quelle
Wenn Sie "tag_name" mit der zugehörigen "blogTags_id" möchten, verwenden Sie: (PHP> 5.5)
$blogDatas = array_column($your_multi_dim_array, 'tag_name', 'blogTags_id'); echo implode(', ', array_map(function ($k, $v) { return "$k: $v"; }, array_keys($blogDatas), array_values($blogDatas)));
quelle
In dieser Situation implodieren ($ array, ','); wird funktionieren, weil Sie nur die Werte wollen. In PHP 5.6 für mich arbeiten.
Wenn Sie die Schlüssel und Werte in einem wie implodieren möchten:
blogTags_id: 1
tag_name: google
$toImplode=array(); foreach($array as $key => $value) { $toImplode[]= "$key: $value".'<br>'; } $imploded=implode('',$toImplode);
Entschuldigung, ich verstehe falsch, weil der Titel "Daten aus einem mehrdimensionalen Array implodieren". Nun, meine Antwort beantwortet es immer noch irgendwie, kann jemandem helfen, wird es also nicht löschen.
quelle