PHP: flatten mehrdimensionales array
Muss ich explodieren durch "," dann ":". Einfach genug...
$alttitle = "35:title1,36:title2, 59:title5"
$replacetitles = explode(",",$alttitle);
for ($i = 0 ; $i < count($replacetitles) ; $i++) {
$replacetitle[] = explode(":", $replacetitles[$i]);
}
Produziert...
Array ( [0] => Array ( [0] => 35 [1] => title1 ) [1] => Array ( [0] => 36 [1] => title2 ) [2] => Array ( [0] => 59 [1] => title5 ) )
...aber die Anzahl 35,36,59 sind einzigartig, so möchte ich, dass dies der Schlüssel für das array?
Array ( [35] => title1 [36] => title2 [59] => title5 )
- Ist dies ein Duplikat von stackoverflow.com/questions/526556/...?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfach es eingestellt werden, während looping:
Mit den oben genannten, erstellen Sie das array in eine minimale Anzahl von Iterationen.
trim
zu$tmparr[0]
ist, wird dies die IMHO eleganteste Lösung.Ist hier ein anderes, aber wahrscheinlich overkill alternative.
Hier ist mein nehmen
BEARBEITEN
Nun mit speed test vs explodieren/trim
32:My Nice Book, 57:The Terror Of The Seas, 92: Hello World
trim
verwenden, sollten Siepreg_split( "/\s*,\s*/m", $alttitle );
"/[\\s\\r\\n\\0\\x0B]*,[\\s\\r\\n\\0\\x0B]*/"
aber ich lasse solche Details als übung für EddyRNach Ihrem code können Sie dieses: