Php 阵列翻转碰撞问题
是否有一个我不知道的函数/方法可以避免在翻转数组时删除相似的键。示例如下: 原始数组:Php 阵列翻转碰撞问题,php,arrays,Php,Arrays,是否有一个我不知道的函数/方法可以避免在翻转数组时删除相似的键。示例如下: 原始数组: Array ( [last_modified] => input [published] => input [project_content] => textarea ) Array ( [input] => published [textarea] => project_content ) 使用数组翻转(键碰撞): Array ( [last_modified] =>
Array ( [last_modified] => input [published] => input [project_content] => textarea )
Array ( [input] => published [textarea] => project_content )
使用数组翻转(键碰撞):
Array ( [last_modified] => input [published] => input [project_content] => textarea )
Array ( [input] => published [textarea] => project_content )
如果要保留关键帧,可以使用二维数组:
<?php
$arr = array ( 'last_modified' => 'input', 'published' => 'input', 'project_content' => 'textarea' );
$result = array();
foreach($arr as $k => $v) {
if (array_key_exists($v, $result)) {
$result[$v][] = $k;
} else {
$result[$v] = array($k);
}
}
print_r($result);
?>
有一种非常简单的方法可以使用标准函数
array\u keys
获取数组中所有具有值“input”
的键:
$keys = array_keys($array, "input");
仅此而已 您希望如何处理冲突?我试图完成的最后一件事是运行数组搜索以返回例如输入。但是,只有当我切换值以便输入是关键时,才能运行该操作。但是如果我这样做,我会丢失除一个输入之外的所有输入。@Alex:那么你想要所有具有值
“input”
的键吗?在这种情况下,array\u keys($array,“input”)
正是您想要的。用数组的键,数组的值,计算差异等等来尝试这些疯狂的东西。我想知道您是否可以告诉我如何只获取一个带有字段名的数组,在本例中是last\u modified
,以及published
?基本上就是输入数组的array\u值代码>?$result['input']
应该足够了,Jon这不是我想要的,但我很感谢你的努力。向上投票。