どの言語、フレームワークでも使える汎用的なやり方。
arrays = ['parent' => ['id' => '1', 'number' => '100']],
['parent' => ['id' => '2', 'number' => '200']],
['parent' => ['id' => '3', 'number' => '300']]
下記のように準備する。
foreach(arraysasarray){$result[array['キーにしたいカラム']=array['バリューにしたいカラム'];}
例えば、このように
foreach(arraysasarray){$result[array['number']=array['id'];}var_dump($result);
結果は、
'100'=>'1','200'=>'2','300'=>'3',
キーとバリューを反対にすることができました!
ちなみに、CakePHPでは、この1行で上記のようなことができますが、一意性の問題があるので、エラることがあると思います。慣れないうちはforeachで回すやり方でいいと思います。
$result=Hash::combine($arrays,"{n}.parent.number","{n}.parent.id");