3

是否有一个我不知道的函数/方法可以在翻转数​​组时避免删除类似的键。下面的例子:

原始数组:

Array ( [last_modified] => input [published] => input [project_content] => textarea ) 

使用数组翻转(键冲突):

Array ( [input] => published [textarea] => project_content )
4

2 回答 2

5

如果你想保留你的密钥,你可以有一个二维数组:

<?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
(
    [input] => Array
        (
            [0] => last_modified
            [1] => published
        )

    [textarea] => Array
        (
            [0] => project_content
        )

)
于 2013-08-06T22:55:29.360 回答
1

有一种非常简单的方法可以"input"使用标准函数获取数组中具有值的所有键array_keys

$keys = array_keys($array, "input");

就这些; 在行动中看到它

于 2013-08-07T08:21:10.940 回答