有沒有一個函數/方法我不知道,避免在數組翻轉時移除類似的鍵。下面的例子:數組翻轉衝突問題
原始數組:
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
(
[input] => Array
(
[0] => last_modified
[1] => published
)
[textarea] => Array
(
[0] => project_content
)
)
有一個死的簡單方式來獲得有使用標準功能array_keys
值"input"
在陣列中的所有鍵:
$keys = array_keys($array, "input");
這是所有; see it in action。
Jon這不正是我所問的,但我很欣賞這種努力。給予好評。 – Alex
你想如何處理碰撞? – jh314
我試圖完成的最後一件事是運行一個數組搜索來返回例如輸入。但只有當我切換值以便輸入是關鍵時才能運行。但如果我這樣做,我會鬆動除我的一個輸入之外的所有內容。 – Alex
@Alex:所以你想要所有具有「'輸入」值的鍵?在這種情況下,'array_keys($ array,「input」)'完全符合你的要求。 – Jon