Php 数组\字母和数字键值的翻转
我有一个这样的数组Php 数组\字母和数字键值的翻转,php,arrays,array-flip,Php,Arrays,Array Flip,我有一个这样的数组 array(123=>'c', 125=>'b', 139=>'a', 124=>'c', 135=>'c', 159=>'b'); 我想翻转键/值,使重复的值成为数组的索引 array( 'a'=>array(139), 'b'=>array(125, 159), 'c'=>array(123, 124, 135) ); 但是,array\u flip似乎覆盖了键,array\u chunk仅
array(123=>'c', 125=>'b', 139=>'a', 124=>'c', 135=>'c', 159=>'b');
我想翻转键/值,使重复的值成为数组的索引
array(
'a'=>array(139),
'b'=>array(125, 159),
'c'=>array(123, 124, 135)
);
但是,array\u flip似乎覆盖了键,array\u chunk仅根据数值将其拆分
有什么建议吗?我认为需要您手动循环阵列。但这真的不难
$flippedArray = array();
foreach( $arrayToFlip as $key => $value ) {
if ( !array_key_exists( $value, $flippedArray ) {
$flippedArray[ $value ] = array();
}
$flippedArray[ $value ][] = $key;
}
我认为需要您手动循环阵列。但这真的不难
$flippedArray = array();
foreach( $arrayToFlip as $key => $value ) {
if ( !array_key_exists( $value, $flippedArray ) {
$flippedArray[ $value ] = array();
}
$flippedArray[ $value ][] = $key;
}
我认为需要您手动循环阵列。但这真的不难
$flippedArray = array();
foreach( $arrayToFlip as $key => $value ) {
if ( !array_key_exists( $value, $flippedArray ) {
$flippedArray[ $value ] = array();
}
$flippedArray[ $value ][] = $key;
}
我认为需要您手动循环阵列。但这真的不难
$flippedArray = array();
foreach( $arrayToFlip as $key => $value ) {
if ( !array_key_exists( $value, $flippedArray ) {
$flippedArray[ $value ] = array();
}
$flippedArray[ $value ][] = $key;
}
是的,写你自己的翻转方法是的,写你自己的翻转方法是的,写你自己的翻转方法是的,编写自己的翻转方法这听起来更像是一条注释,而不是添加了应答-意外保存。这听起来更像是一条注释,而不是添加了应答-意外保存。这听起来更像是一条注释,而不是添加了应答-意外保存。重新发布Rob以函数形式给出的贝利的答案。。。他也不会像你一样抛出未定义的索引错误。(不会-1你,因为这是一个有用的答案)@scrowler:没有“转发”任何东西。我提交时没有显示答案。另外,想不想展示一个有任何通知的执行示例?你是对的,不能复制我的想法,即产生未定义的索引错误。然而,我建议您应该
返回array\u reverse($result)代码>以获得与QA相同的顺序。以函数形式重新发布Rob Baillie的答案。。。他也不会像你一样抛出未定义的索引错误。(不会-1你,因为这是一个有用的答案)@scrowler:没有“转发”任何东西。我提交时没有显示答案。另外,想不想展示一个有任何通知的执行示例?你是对的,不能复制我的想法,即产生未定义的索引错误。然而,我建议您应该返回array\u reverse($result)代码>以获得与QA相同的顺序。以函数形式重新发布Rob Baillie的答案。。。他也不会像你一样抛出未定义的索引错误。(不会-1你,因为这是一个有用的答案)@scrowler:没有“转发”任何东西。我提交时没有显示答案。另外,想不想展示一个有任何通知的执行示例?你是对的,不能复制我的想法,即产生未定义的索引错误。然而,我建议您应该返回array\u reverse($result)代码>以获得与QA相同的顺序。以函数形式重新发布Rob Baillie的答案。。。他也不会像你一样抛出未定义的索引错误。(不会-1你,因为这是一个有用的答案)@scrowler:没有“转发”任何东西。我提交时没有显示答案。另外,想不想展示一个有任何通知的执行示例?你是对的,不能复制我的想法,即产生未定义的索引错误。然而,我建议您应该返回array\u reverse($result)代码>以获得与QA相同的订单。