Hallo Leute, folgende PHP-Methode liefert folgendes array zurück
Methode:
Array,welches die Methode liefert:
Mit welchen PHP-Funktionen gelingt es mir am elegantesten, das Array so zu sortieren, dass der PK, also der Index des Arrays plus seinem Value als erstes Element im Array angezeigt wird. Die restlichen Arrayelemente tangieren dann nur noch peripher, da sein müssen sie halt noch!
Bin ma' gespannt auf die Vorschläge hier. Anbei noch eine Codevorlage meiner bisherigen Bemühungen
asArray() liefert das reine Array, ohne diese Methode bekomme ich ein Array aus Objekten zurück. Da ich das Resultat soweiso in ein reines Array umwandeln muss, ist es egal, welche Ausgangsbasis verwendet wird, Hauptsache, es beginnt mit $IdBehaviour als Key/Index
Methode:
PHP:
public static function getPerson($fk, $IdBehaviour) {
$x = $nachname = Person::find(['nachname' => 'value'])->where(['id_person_art' => $fk])->orderBy(['nachname' => SORT_ASC])->asArray()->all();
var_dump(yii\helpers\ArrayHelper::map($x, 'id', 'nachname'));
die();
return yii\helpers\ArrayHelper::map($nachname, 'id', 'nachname');
}
Code:
array(3) { [3]=> string(18) "Klein(Mitarbeiter)" [2]=> string(26) "Meyer-Schulze(Mitarbeiter)" [1]=> string(20) "Schwarz(Mitarbeiter)" }
Bin ma' gespannt auf die Vorschläge hier. Anbei noch eine Codevorlage meiner bisherigen Bemühungen
PHP:
public static function getPerson($fk, $IdBehaviour) {
$nachname = Person::find(['nachname' => 'value'])->where(['id_person_art' => $fk])->orderBy(['nachname' => SORT_ASC])->all();
$items = array();
foreach ($nachname as $value) {
if ($value->id != $IdBehaviour) {
/*
//Sortieralgorithmus hier
*/
} else {
$items[$value->id] = $value->nachname;
}
}
return $items;
}
Zuletzt bearbeitet: