regexまたは独自のロジックを使用する必要があります。
文字列「:」が値自体のどこにも表示されないことが保証されていますか?その場合は、implode
を使用して、文字列をキーと値が交互になる配列に分割することができます。あなたはこの配列を歩き回り、あなたが望むようにフォーマットする必要があります。ここで私はすぐに一緒に投げたラフ(おそらく非効率的な)例です:あなたは正規表現を書くことができた場合は
<?php
$keysAndValuesArray = implode(': ', $dataString);
$firstKeyName = 'userAccountName';
$associativeDataArray = array();
$currentIndex = -1;
$numItems = count($keysAndValuesArray);
for($i=0;$i<$numItems;i+=2) {
if($keysAndValuesArray[$i] == $firstKeyName) {
$associativeDataArray[] = array();
++$currentIndex;
}
$associativeDataArray[$currentIndex][$keysAndValuesArray[$i]] = $keysAndValuesArray[$i+1];
}
var_dump($associativeDataArray);
あなた自身のロジックを書く必要があります。あなたが望むことをするための組み込み関数はありません。 –