Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组\字母和数字键值的翻转_Php_Arrays_Array Flip - Fatal编程技术网

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相同的订单。