Ich hämmere meinen Kopf von den letzten 3 Stunden, um ein Array neu zu ordnen, bisher kein Glück.Rearrange Array PHP
Ich brauche dieses Array neu angeordnet sein, wie diese: Array (A)
Array
(
[0] => Array
(
[langtext] => hello world
[mainlang] => hello world
[lang] => en
[prefix] => 1
)
[1] => Array
(
[langtext] => Bonjour le monde
[mainlang] => hello world
[lang] => fr
[prefix] => 1
)
[2] => Array
(
[langtext] => Привет мир
[mainlang] => hello world
[lang] => ru
[prefix] => 1
)
[3] => Array
(
[langtext] => provide
[mainlang] => provide
[lang] => en
[prefix] => 7
)
[4] => Array
(
[langtext] => обеспечить
[mainlang] => provide
[lang] => ru
[prefix] => 7
)
[5] => Array
(
[langtext] => fournir
[mainlang] => provide
[lang] => fr
[prefix] => 7
)
)
Rearrange als: Array (B)
Array (
[prefix] => Array
(
[1] => Array
(
[en] => hello world
[mainlang] => hello world
[fr] => Bonjour le monde
[ru] => Привет мир
)
[7] => Array
(
[en] => provide
[mainlang] => provide
[fr] => fournir
[ru] => обеспечить
)
}
Detail: I Array von (A neu anordnen müssen) bis (B), "lang" Schlüsselwert sind in allen Array unterschiedlich, wo "Präfix" gleich sind. . Präfix als Schlüssel und jeder "lang" Wert zurückgeben
foreach (_allLangText() as $lang_array=>$key){
$lang_array_return['prefix']
[$lang_array['prefix']]=array($lang_array['lang']=>$lang_array['langtext']);
}
und ich bekomme eine Ausgabe wie diese
Ich versuchte foreach (aber nur in der Lage, die nicht korrekt ist:
Array
(
[prefix] => Array
(
[1] => Array
(
[ru] => Привет мир
)
[7] => Array
(
[fr] => fournir
)
)
Schließlich es gibt die möglichkeit, dass es mehr "lang" -Werte im Array gibt, ich meine "en", "ru", "fr" oder "de" usw. und wenn es vier verschiedene Werte in lang gibt, dann wird dasselbe "Präfix" wiederholt 4 Arrays
var_export:
array (
0 =>
array (
'langtext' => 'hello world',
'mainlang' => 'hello world',
'lang' => 'en',
'prefix' => '1',
),
1 =>
array (
'langtext' => 'Bonjour le monde',
'mainlang' => 'hello world',
'lang' => 'fr',
'prefix' => '1',
),
2 =>
array (
'langtext' => 'Привет мир',
'mainlang' => 'hello world',
'lang' => 'ru',
'prefix' => '1',
),
3 =>
array (
'langtext' => 'provide',
'mainlang' => 'provide',
'lang' => 'en',
'prefix' => '7',
),
4 =>
array (
'langtext' => 'обеспечить',
'mainlang' => 'provide',
'lang' => 'ru',
'prefix' => '7',
),
5 =>
array (
'langtext' => 'fournir',
'mainlang' => 'provide',
'lang' => 'fr',
'prefix' => '7',
),
)
Könnten Sie Ergebnis von 'var_export' bieten statt' var_dump '?Es wird einfacher sein, in PHP zu kopieren und zu implementieren :) –
Von einem kurzen Blick denke ich, dass Sie wollen: '$ lang_array_return ['prefix'] [$ lang_array ['prefix']] [$ lang_array ['lang']] = $ lang_array ['langtext']); 'in deiner foreach. Zumindest sollten Sie dem gewünschten Ergebnis einen Schritt näher kommen. – jh1711
Ist das eine Schulhausaufgabe, liest es sich ähnlich zu anderen Schulheimarbeiten auf Stackoverflow? – Martin