8.5.5 combine
The original text for this section has changed since it was translated. Please help resolve this difference. You can:
array Set::combine ($data, $path1 = null, $path2 = null, $groupPath = null)
このメソッドは $path1 で指定されたパスをキーに、そしてオプションで $path2 で指定されたパスを値に、連想配列を作成します。もし $path2 で指定されたパスが定義されていなかったら、全ての値は null として初期化されます(Set::merge で便利です)。これらのパスの後に、オプションで $groupPath を設定すると、それが指定するパスの値でグループ化することができます。
$result = Set::combine(array(), '{n}.User.id', '{n}.User.Data');
// $result == array();
$result = Set::combine('', '{n}.User.id', '{n}.User.Data');
// $result == array();
$a = array(
array('User' => array('id' => 2, 'group_id' => 1,
'Data' => array('user' => 'mariano.iglesias','name' => 'Mariano Iglesias'))),
array('User' => array('id' => 14, 'group_id' => 2,
'Data' => array('user' => 'phpnut', 'name' => 'Larry E. Masters'))),
array('User' => array('id' => 25, 'group_id' => 1,
'Data' => array('user' => 'gwoo','name' => 'The Gwoo'))));
$result = Set::combine($a, '{n}.User.id');
/* $result は現段階で次のようになります。:
Array
(
[2] =>
[14] =>
[25] =>
)
*/
$result = Set::combine($a, '{n}.User.id', '{n}.User.non-existant');
/* $result は現段階で次のようになります。:
Array
(
[2] =>
[14] =>
[25] =>
)
*/
$result = Set::combine($a, '{n}.User.id', '{n}.User.Data');
/* $result は現段階で次のようになります。:
Array
(
[2] => Array
(
[user] => mariano.iglesias
[name] => Mariano Iglesias
)
[14] => Array
(
[user] => phpnut
[name] => Larry E. Masters
)
[25] => Array
(
[user] => gwoo
[name] => The Gwoo
)
)
*/
$result = Set::combine($a, '{n}.User.id', '{n}.User.Data.name');
/* $result は現段階で次のようになります。:
Array
(
[2] => Mariano Iglesias
[14] => Larry E. Masters
[25] => The Gwoo
)
*/
$result = Set::combine($a, '{n}.User.id', '{n}.User.Data', '{n}.User.group_id');
/* $result は現段階で次のようになります。:
Array
(
[1] => Array
(
[2] => Array
(
[user] => mariano.iglesias
[name] => Mariano Iglesias
)
[25] => Array
(
[user] => gwoo
[name] => The Gwoo
)
)
[2] => Array
(
[14] => Array
(
[user] => phpnut
[name] => Larry E. Masters
)
)
)
*/
$result = Set::combine($a, '{n}.User.id', '{n}.User.Data.name', '{n}.User.group_id');
/* $result は現段階で次のようになります。:
Array
(
[1] => Array
(
[2] => Mariano Iglesias
[25] => The Gwoo
)
[2] => Array
(
[14] => Larry E. Masters
)
)
*/
$result = Set::combine($a, '{n}.User.id');
/* $result は現段階で次のようになります。:
Array
(
[2] =>
[14] =>
[25] =>
)
*/
$result = Set::combine($a, '{n}.User.id', '{n}.User.Data');
/* $result は現段階で次のようになります。:
Array
(
[2] => Array
(
[user] => mariano.iglesias
[name] => Mariano Iglesias
)
[14] => Array
(
[user] => phpnut
[name] => Larry E. Masters
)
[25] => Array
(
[user] => gwoo
[name] => The Gwoo
)
)
*/
$result = Set::combine($a, '{n}.User.id', '{n}.User.Data.name');
/* $result は現段階で次のようになります。:
Array
(
[2] => Mariano Iglesias
[14] => Larry E. Masters
[25] => The Gwoo
)
*/
$result = Set::combine($a, '{n}.User.id', '{n}.User.Data', '{n}.User.group_id');
/* $result は現段階で次のようになります。:
Array
(
[1] => Array
(
[2] => Array
(
[user] => mariano.iglesias
[name] => Mariano Iglesias
)
[25] => Array
(
[user] => gwoo
[name] => The Gwoo
)
)
[2] => Array
(
[14] => Array
(
[user] => phpnut
[name] => Larry E. Masters
)
)
)
*/
$result = Set::combine($a, '{n}.User.id', '{n}.User.Data.name', '{n}.User.group_id');
/* $result は現段階で次のようになります。:
Array
(
[1] => Array
(
[2] => Mariano Iglesias
[25] => The Gwoo
)
[2] => Array
(
[14] => Larry E. Masters
)
)
*/
$result = Set::combine($a, '{n}.User.id', array('{0}: {1}', '{n}.User.Data.user', '{n}.User.Data.name'), '{n}.User.group_id');
/* $result は現段階で次のようになります。:
Array
(
[1] => Array
(
[2] => mariano.iglesias: Mariano Iglesias
[25] => gwoo: The Gwoo
)
[2] => Array
(
[14] => phpnut: Larry E. Masters
)
)
*/
$result = Set::combine($a, array('{0}: {1}', '{n}.User.Data.user', '{n}.User.Data.name'), '{n}.User.id');
/* $result は現段階で次のようになります。:
Array
(
[mariano.iglesias: Mariano Iglesias] => 2
[phpnut: Larry E. Masters] => 14
[gwoo: The Gwoo] => 25
)
*/
$result = Set::combine($a, array('{1}: {0}', '{n}.User.Data.user', '{n}.User.Data.name'), '{n}.User.id');
/* $result は現段階で次のようになります。:
Array
(
[Mariano Iglesias: mariano.iglesias] => 2
[Larry E. Masters: phpnut] => 14
[The Gwoo: gwoo] => 25
)
*/
$result = Set::combine($a, array('%1$s: %2$d', '{n}.User.Data.user', '{n}.User.id'), '{n}.User.Data.name');
/* $result は現段階で次のようになります。:
Array
(
[mariano.iglesias: 2] => Mariano Iglesias
[phpnut: 14] => Larry E. Masters
[gwoo: 25] => The Gwoo
)
*/
$result = Set::combine($a, array('%2$d: %1$s', '{n}.User.Data.user', '{n}.User.id'), '{n}.User.Data.name');
/* $result は現段階で次のようになります。:
Array
(
[2: mariano.iglesias] => Mariano Iglesias
[14: phpnut] => Larry E. Masters
[25: gwoo] => The Gwoo
)
*/
$result = Set::combine(array(), '{n}.User.id', '{n}.User.Data');// $result == array();$result = Set::combine('', '{n}.User.id', '{n}.User.Data');// $result == array();$a = array(array('User' => array('id' => 2, 'group_id' => 1,'Data' => array('user' => 'mariano.iglesias','name' => 'Mariano Iglesias'))),array('User' => array('id' => 14, 'group_id' => 2,'Data' => array('user' => 'phpnut', 'name' => 'Larry E. Masters'))),array('User' => array('id' => 25, 'group_id' => 1,'Data' => array('user' => 'gwoo','name' => 'The Gwoo'))));$result = Set::combine($a, '{n}.User.id');/* $result は現段階で次のようになります。:Array([2] =>[14] =>[25] =>)*/$result = Set::combine($a, '{n}.User.id', '{n}.User.non-existant');/* $result は現段階で次のようになります。:Array([2] =>[14] =>[25] =>)*/$result = Set::combine($a, '{n}.User.id', '{n}.User.Data');/* $result は現段階で次のようになります。:Array([2] => Array([user] => mariano.iglesias[name] => Mariano Iglesias)[14] => Array([user] => phpnut[name] => Larry E. Masters)[25] => Array([user] => gwoo[name] => The Gwoo))*/$result = Set::combine($a, '{n}.User.id', '{n}.User.Data.name');/* $result は現段階で次のようになります。:Array([2] => Mariano Iglesias[14] => Larry E. Masters[25] => The Gwoo)*/$result = Set::combine($a, '{n}.User.id', '{n}.User.Data', '{n}.User.group_id');/* $result は現段階で次のようになります。:Array([1] => Array([2] => Array([user] => mariano.iglesias[name] => Mariano Iglesias)[25] => Array([user] => gwoo[name] => The Gwoo))[2] => Array([14] => Array([user] => phpnut[name] => Larry E. Masters)))*/$result = Set::combine($a, '{n}.User.id', '{n}.User.Data.name', '{n}.User.group_id');/* $result は現段階で次のようになります。:Array([1] => Array([2] => Mariano Iglesias[25] => The Gwoo)[2] => Array([14] => Larry E. Masters))*/$result = Set::combine($a, '{n}.User.id');/* $result は現段階で次のようになります。:Array([2] =>[14] =>[25] =>)*/$result = Set::combine($a, '{n}.User.id', '{n}.User.Data');/* $result は現段階で次のようになります。:Array([2] => Array([user] => mariano.iglesias[name] => Mariano Iglesias)[14] => Array([user] => phpnut[name] => Larry E. Masters)[25] => Array([user] => gwoo[name] => The Gwoo))*/$result = Set::combine($a, '{n}.User.id', '{n}.User.Data.name');/* $result は現段階で次のようになります。:Array([2] => Mariano Iglesias[14] => Larry E. Masters[25] => The Gwoo)*/$result = Set::combine($a, '{n}.User.id', '{n}.User.Data', '{n}.User.group_id');/* $result は現段階で次のようになります。:Array([1] => Array([2] => Array([user] => mariano.iglesias[name] => Mariano Iglesias)[25] => Array([user] => gwoo[name] => The Gwoo))[2] => Array([14] => Array([user] => phpnut[name] => Larry E. Masters)))*/$result = Set::combine($a, '{n}.User.id', '{n}.User.Data.name', '{n}.User.group_id');/* $result は現段階で次のようになります。:Array([1] => Array([2] => Mariano Iglesias[25] => The Gwoo)[2] => Array([14] => Larry E. Masters))*/$result = Set::combine($a, '{n}.User.id', array('{0}: {1}', '{n}.User.Data.user', '{n}.User.Data.name'), '{n}.User.group_id');/* $result は現段階で次のようになります。:Array([1] => Array([2] => mariano.iglesias: Mariano Iglesias[25] => gwoo: The Gwoo)[2] => Array([14] => phpnut: Larry E. Masters))*/$result = Set::combine($a, array('{0}: {1}', '{n}.User.Data.user', '{n}.User.Data.name'), '{n}.User.id');/* $result は現段階で次のようになります。:Array([mariano.iglesias: Mariano Iglesias] => 2[phpnut: Larry E. Masters] => 14[gwoo: The Gwoo] => 25)*/$result = Set::combine($a, array('{1}: {0}', '{n}.User.Data.user', '{n}.User.Data.name'), '{n}.User.id');/* $result は現段階で次のようになります。:Array([Mariano Iglesias: mariano.iglesias] => 2[Larry E. Masters: phpnut] => 14[The Gwoo: gwoo] => 25)*/$result = Set::combine($a, array('%1$s: %2$d', '{n}.User.Data.user', '{n}.User.id'), '{n}.User.Data.name');/* $result は現段階で次のようになります。:Array([mariano.iglesias: 2] => Mariano Iglesias[phpnut: 14] => Larry E. Masters[gwoo: 25] => The Gwoo)*/$result = Set::combine($a, array('%2$d: %1$s', '{n}.User.Data.user', '{n}.User.id'), '{n}.User.Data.name');/* $result は現段階で次のようになります。:Array([2: mariano.iglesias] => Mariano Iglesias[14: phpnut] => Larry E. Masters[25: gwoo] => The Gwoo)*/


























