Php 函数将数组值翻转为数组键?
是否有一个php函数可以接受下面的数组Php 函数将数组值翻转为数组键?,php,arrays,Php,Arrays,是否有一个php函数可以接受下面的数组 array (size=4) 1 => string '0' 6 => string '1' 7 => string '1' 8 => string '7' 将其翻转到下面的数组注意,数组必须具有唯一的键值,因此我们可以翻转数组,其中值1=键值6,7 array (size=3) 0 => string '1' 1 => string '6, 7' 7 => string '8' 不,
array (size=4)
1 => string '0'
6 => string '1'
7 => string '1'
8 => string '7'
将其翻转到下面的数组注意,数组必须具有唯一的键值,因此我们可以翻转数组,其中值1=键值6,7
array (size=3)
0 => string '1'
1 => string '6, 7'
7 => string '8'
不,没有现有的,但您可以根据需要编写您的自定义,请参阅下面的函数确实满足您的需要:
function customFlip($arr){
$newArray = array();
if (is_array($arr)) {
foreach ($arr as $key => $value) {
if (array_key_exists($value, $newArray)) {
if (empty($newArray[$value])) {
$newArray[$value] = $key;
} else {
$newArray[$value] .= ','.$key;
}
} else {
$newArray[$value] = $key;
}
}
return $newArray;
}
return false;
}
结果
Array
(
[0] => 1
[1] => 6, 7
[7] => 8
)
你可以试一下
只需使用foreach
并将键的值与值交换即可
$arr = array ( 1 => '0', 6 => '1', 7 => '1', 8 => '7' );
$result = array();
foreach($arr as $key => $value){
$result[$value][] = $key;
}
print_r($result);
@splash58不太好array\u flip
不会连接具有相同值的键。没有这样的函数,您需要自己编写。祝你好运如果你只是在谷歌上搜索了相同的问题标题,你会看到数组翻转的php手册function@MohamedBelal这不完全是数组翻转。很好的解释和使用array\u keys()
和infrade()
@Rizier123即使是猫也喜欢一个友好的词:)@Rizier123关于数组翻转,你说的是一个函数
$arr = array ( 1 => '0', 6 => '1', 7 => '1', 8 => '7' );
$result = array();
foreach($arr as $key => $value){
$result[$value][] = $key;
}
print_r($result);