2017-08-16 22 views
-5

配列内のキーに基づいて複数の配列に分割したい単一の配列があります。キーパターンに基づいて配列を複数の部分に分割

以下の例では、1.post、2.social、3、testの3つのキーがあります。私は3つの別々の配列で終わることができるようにしたい

私の質問は、私は3つの別々の配列に分割したいです。これを行う最善の方法は何ですか。私が正しく理解していれば、あなたが行うことができます

array 
    'post-postcode' => string 'tb44 24BQ' (length=9) 
    'post-telephone' => string '0208 2414399' (length=13) 
    'social-linkedin' => string 'linkedin-Waters' (length=15) 
    'test-testi' => string '6' (length=1) 
    'test-name' => string 'Rodgers Castro' (length=14) 
+4

あなたのご質問はありますか?現在のコードも表示します。 –

+0

例には3つではなく5つのキーが含まれています。 – JustBaron

+0

hi justBaron-はい、5つのキーは3つの別々の配列に分割されます。すなわち「ポスト」は2つのキーを持つ配列を形成します:kesyポストポストコードとポスト電話 – theSeeker

答えて

3

:私が見つけた最も近い機能は、しかし、これはtが配列

の潜在的な大きさを知っている私ドン」 、サイズに定義に配列を分割array_chunkですそれは次のようなものですが、それはXYの問題です。どうしてあなたの配列を適切に構造化していないのですか?

$normalised = []; 
foreach ($array as $key => $value) { 
    list($k, $a) = explode('-', $key, 2); 
    $normalised[$k][$a] = $value; 
} 
+0

こんにちは。配列をどのように構造化しますか? – theSeeker

+2

構造の使い方を使いましょう。 –

+0

申し訳ありません。私はあなたが私の配列を適切に最初に構築すると言ったときの意味を明確にすることを意味していますか?おそらくあなたは正しいですし、配列を構築するためのより良い方法があります。 – theSeeker

関連する問題