Ich habe ein Array wie folgt:Set :: classicExtract() CakePHP 2.x Hash :: Alternative
$array = array(
1234 => array(
'title' => 'TitleA',
'extra' => array(
45 => 'SubA',
54 => 'SubB',
),
// More irrelevant data
),
2345 => array(
'title' => 'TitleB',
'extra' => array(
89 => 'SubC',
98 => 'SubD',
),
// More irrelevant data
),
);
Ich benutze:
$data = Set::classicExtract($array, '{\d+}.title');
Um ein Array zu erhalten wie:
array(1234 => 'TitleA', 2345 => 'TitleB');
Und:
$data = Set::classicExtract($array, '{\d+}.extra');
ein Array erhalten wie:
array(
1234 => array(
45 => 'SubA',
54 => 'SubB',
),
2345 => array(
89 => 'SubC',
98 => 'SubD',
),
)
Nun, da das Set :: Klasse für eine Weile veraltet ist (seit 2.2, verwenden wir 2.8) Ich möchte den Hash verwenden :: Klasse. Aber ich kann keine Funktion finden, die mir das gleiche Ergebnis bringt. Ich habe sowohl Hash :: extract() als auch Hash :: combine() ausprobiert, aber ohne Erfolg.
Ist das mit der Hash :: Klasse überhaupt möglich?
Nein, ich versuche, Daten aus einem Array zu extrahieren, Verwenden der Klasse Hash :: in CakePHP 2.x. (Dokumentation: http://book.cakephp.org/2.0/en/core-utility-libraries/hash.html) – wouter